{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from zipfile import ZipFile\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 数据集读取和简单查看"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 1. 解压压缩文件\n",
    "\n",
    "zipfiles = ZipFile(\"./competitions/titanic/titanic.zip\")\n",
    "zipfiles.extractall(\"competitions/titanic/\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 2. 读取数据文件\n",
    "\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "files = os.listdir(\"competitions/titanic/\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['gender_submission.csv', 'test.csv', 'titanic.zip', 'train.csv']"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "files"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "baseDir = \"competitions/titanic/\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data = pd.read_csv(baseDir+\"test.csv\")\n",
    "train_data = pd.read_csv(baseDir+\"train.csv\")\n",
    "gender_submission_data = pd.read_csv(baseDir+\"gender_submission.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 418 entries, 0 to 417\n",
      "Data columns (total 11 columns):\n",
      "PassengerId    418 non-null int64\n",
      "Pclass         418 non-null int64\n",
      "Name           418 non-null object\n",
      "Sex            418 non-null object\n",
      "Age            332 non-null float64\n",
      "SibSp          418 non-null int64\n",
      "Parch          418 non-null int64\n",
      "Ticket         418 non-null object\n",
      "Fare           417 non-null float64\n",
      "Cabin          91 non-null object\n",
      "Embarked       418 non-null object\n",
      "dtypes: float64(2), int64(4), object(5)\n",
      "memory usage: 36.0+ KB\n"
     ]
    }
   ],
   "source": [
    "test_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PassengerId      0\n",
       "Pclass           0\n",
       "Name             0\n",
       "Sex              0\n",
       "Age             86\n",
       "SibSp            0\n",
       "Parch            0\n",
       "Ticket           0\n",
       "Fare             1\n",
       "Cabin          327\n",
       "Embarked         0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.isna().sum()\n",
    "\n",
    "# 测试数据集缺失值有：Age，Cabin。\n",
    "\n",
    "# 由于测试数据集共418条数据，而缺失达到了327，故而对于Cabin可以直接丢弃。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Cabin          204 non-null object\n",
      "Embarked       889 non-null object\n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.6+ KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PassengerId      0\n",
       "Survived         0\n",
       "Pclass           0\n",
       "Name             0\n",
       "Sex              0\n",
       "Age            177\n",
       "SibSp            0\n",
       "Parch            0\n",
       "Ticket           0\n",
       "Fare             0\n",
       "Cabin          687\n",
       "Embarked         2\n",
       "dtype: int64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.isna().sum()\n",
    "\n",
    "# 类似的，Age字段有缺失值；且由于训练数据总共891条，而Cabin缺失了687条，故而可以直接丢弃\n",
    "\n",
    "# 对于Embarked字段缺失两条，这里需要进行处理。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 删除训练集和测试集的Cabin字段\n",
    "\n",
    "train_data = train_data.drop(['Cabin'], axis=1)\n",
    "\n",
    "test_data = test_data.drop(['Cabin'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 11 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Embarked       889 non-null object\n",
      "dtypes: float64(2), int64(5), object(4)\n",
      "memory usage: 76.6+ KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 相关性分析\n",
    "\n",
    "由于根据题意需要分析的是最终的测试集的Survived字段，故而从两个角度来分析：\n",
    "\n",
    " - 异常值检验，可以对Survived字段进行简单统计分析，观察其其大致的分布规律\n",
    " - 训练集和测试集的单变量分析，也就是对训练集和测试集中的对应特征，可以进行简单的单变量分布规律对比；\n",
    " - 相关性分析，也就是分析各个字段对Survived字段的相关性；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "Bad key \"text.kerning_factor\" on line 4 in\n",
      "D:\\softwares\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\stylelib\\_classic_test_patch.mplstyle.\n",
      "You probably need to get an updated matplotlibrc file from\n",
      "http://github.com/matplotlib/matplotlib/blob/master/matplotlibrc.template\n",
      "or from the matplotlib source distribution\n"
     ]
    }
   ],
   "source": [
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1 可以对Survived字段进行简单统计分析，观察其其大致的分布规律"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2bf09d08278>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set()\n",
    "sns.histplot(train_data['Survived'], kde=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "观察上图可知，绘制该图没有意义，因为可取值只有1和0。只能反映一个问题就是死亡人数超过存活人数。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 训练集和测试集的单变量分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 样本总数\n",
    "\n",
    "train_count = train_data.shape[0]\n",
    "test_count = test_data.shape[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1    0.242424\n",
       "2    0.206510\n",
       "3    0.551066\n",
       "Name: Pclass, dtype: float64"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 不同取值水平汇总后排序，再除以样本总数\n",
    "\n",
    "train_data['Pclass'].value_counts().sort_index()/train_count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2bf0a6420b8>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEBCAYAAAB8NQKFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XtUVPXeP/A3V2EE5DYDmJUliVe8lkRG2YmLXMQL/uLB4pR5SfOgPEfP4pTrp9HP1cpOoqZ2LJ8nn464nkxApQzJbqcTnJIuwiheU0ORYbgIAwwwzHx/f5BTE+hADLNn4P1aq1WbvUff7La83Xv2/oyDEEKAiIjoZ45SByAiItvCYiAiIhMsBiIiMsFiICIiEywGIiIywWIgIiITLAYiIjLBYiAiIhMsBiIiMsFiICIiEywGIiIywWIgIiITLAYiIjLhLHWA26mvb4bBYNvDX/38PFBb2yR1DLOY07LsIac9ZASY05IcHR3g4zO0z7+OTReDwSBsvhgA2EVGgDktzR5y2kNGgDltDS8lERGRCRYDERGZYDEQEZEJFgMREZnoUTHk5+cjNjYWUVFRyM7O7rJ+x44dmDVrFhITE5GYmGjcJi8vDzNnzjR+PSsry7LpiYjI4szelaRSqZCVlYXc3Fy4uroiOTkZM2bMQHBwsHEbpVKJLVu2YMqUKSavVSqVyMjIQHx8vOWTExFRvzB7xlBUVISwsDB4e3tDJpMhOjoaBQUFJtsolUrs3r0bCQkJyMzMRFtbGwCgrKwMeXl5SEhIwNq1a9HQ0NA/3wUR0SCn6zBg70dnLPJrmT1jqK6uhlwuNy4rFAqUlpYal5ubmzF27FisW7cOd999NzIyMrBr1y6kp6dDLpdj8eLFmDp1KrZs2YLMzEy8/vrrPQ7n5+fRy29HGnK5p9QReoQ5LcsectpDRoA5+0oIga3/+z1OX66zyK9nthgMBgMcHBxMAvx6eejQoXj77beNy4sXL8YLL7yA9PR07Ny50/j1JUuWIDIyslfhamubbP6BErncE2q1RuoYZjGnZdlDTnvICDCnJXxQdBmfllTgyajRFvn1zF5KCgwMhFqtNi6r1WooFArjcmVlJQ4ePGhcFkLA2dkZGo0Ge/fuNfm6k5OTRUITEVGnE2eqkfvPHxE2LgB/mDbCIr+m2WIIDw9HcXEx6urqoNVqUVhYiIiICON6Nzc3vPbaa6ioqIAQAtnZ2YiMjIRMJsOePXtw8uRJAMC+fft6fcZARES39mNlI/Z8cBrBdwzDM7FjTK7m9IXZS0kBAQFIT09HamoqdDodkpKSEBoaiqVLlyItLQ0TJ05EZmYmVqxYAZ1Oh6lTp+KZZ56Bk5MTtm7dio0bN6K1tRUjR47E5s2bLRKaiGiwq21oxfacUgwb6opV8yfCxdlyV2QchBA2exGf7zFYDnNalj3ktIeMAHP+Htq2Dryy7zvUNmrxwlPTcYd/50RVR0cHi9y0wyefiYjsiMEgsPvIKVTWNGNF4gRjKVgSi4GIyI689+kFlF6sRUrkfZhwr1+//B4sBiIiO/HZ99fwcUkFHp82Ao9NtcwdSN1hMRAR2YFTl+qQXXgOoaP8kPyH+/r192IxEBHZuMqaZuw6pMRwfxmWzxkPR0fL3JZ6KywGIiIb1tjSjq3vn4SLsyPSkkLhPqT/P5GZxUBEZKN0HQbsyC1DQ3M7/rRgIvyHuVvl92UxEBHZICEE9n5UjgtXG/Bs3FiMGj7Mar83i4GIyAZ9UHQZxadUmPfwPXhgbIBVf28WAxGRjfmmXIW8Ly/hwfGBiA8fafXfn8VARGRDLlY24L8+LEfwiGF4erblBuP1BouBiMhG1DRo8cbBUnh73ByMJ82PaBYDEZEN0LZ1YNvBUuj0AquTJsFL5ipZFhYDEZHE9AYDdh85hes1LVg5bwKG98NgvN5gMRARSey9TzoH4z0ZNRrjR/pKHYfFQEQkpU+/u4rj315F1P134tEpd0gdBwCLgYhIMsofa7H/4/OYNMoP/2dWsNRxjFgMREQSuKZuwpuHlRjuPxTLrDAYrzdYDEREVtbY3I5tB0vh6uyENQutMxivN3pUDPn5+YiNjUVUVBSys7O7rN+xYwdmzZqFxMREJCYmGreprKzEokWLEBMTgxUrVqC5udmy6YmI7IyuQ483ckvR0NyOtKRQ+Hq5SR2pC7M1pVKpkJWVhdzcXLi6uiI5ORkzZsxAcPAv18OUSiW2bNmCKVOmmLz2pZdeQkpKCuLi4rBz507s2rUL69ats/x3QURkB4QQ+O+jZ3DxWiNWzp2Ae4K8pI7ULbNnDEVFRQgLC4O3tzdkMhmio6NRUFBgso1SqcTu3buRkJCAzMxMtLW1QafT4cSJE4iOjgYAzJ8/v8vriIgGkyNfXcbXp1WYH3Evpo9RSB3nlswWQ3V1NeRyuXFZoVBApVIZl5ubmzF27FisW7cOeXl5aGxsxK5du1BfXw8PDw84O3eelMjlcpPXERENJv8+XYXD/7qEhyYEIu7Bu6WOc1tmLyUZDAaTIU5CCJPloUOH4u233zYuL168GC+88AJSUlK6DH/q7TAoPz+PXm0vFbncU+oIPcKclmUPOe0hIzDwc565XId3jp7B+Hv98OenpsPF2cnCySzLbDEEBgaipKTEuKxWq6FQ/HIKVFlZiaKiIiQlJQHoLA5nZ2f4+vpCo9FAr9fDycmpy+t6ora2CQaD6NVrrE0u94RarZE6hlnMaVn2kNMeMgIDP2fNDS1efrcEPh5DsCx+LG7Ut/RDuk6Ojg4W+Qu12UtJ4eHhKC4uRl1dHbRaLQoLCxEREWFc7+bmhtdeew0VFRUQQiA7OxuRkZFwcXHB9OnTcfToUQDAoUOHTF5HRDTQtbR2DsbT6wVWLwyFp4SD8XrDbDEEBAQgPT0dqampmDt3LuLj4xEaGoqlS5eirKwMvr6+yMzMxIoVKxATEwMhBJ555hkAwIYNG3DgwAHExsaipKQEa9as6fdviIjIFugNBvz9sBJVdZ2D8YL8pB2M1xsOQgibvVbDS0mWw5yWZQ857SEjMHBzZheewyffXcUfY0LwyGTrzECy2qUkIiLqnU++vYpPvruK6AfutFopWBKLgYjIgkov1mL/8XOYHOyPhY/azmC83mAxEBFZyFV1E/5+WIk75R5YNmecTQ3G6w0WAxGRBTQ0t2Pb+6UY4uqEtKRQuLna1mC83mAxEBH1UbtOjx05pdC0tGO1jQ7G6w0WAxFRH3QOxivHxcpGLE0Yh5GBtjkYrzdYDEREfXD4X5fwTXk1kh4dhWkhtjsYrzdYDEREv1PxqSoc+eoyZk4MwuwZd0kdx2JYDEREv8P5qzfwztFyhNzpjdSYkF4PCbVlLAYiol6qvqHFGzll8PNyw/PzJ8LZaWD9KB1Y3w0RUT9rae3A9oOlEEJg9cJJ8HB3kTqSxbEYiIh6SG8w4M3DSqjqWrBy3kQE+sqkjtQvWAxERD0ghMD+j8/j1KU6PBUdgrF3+0gdqd+wGIiIeiD/Xz/is++vIWbGXYiYNFzqOP2KxUBEZMbJCzX4r8NKTLnPH0mPjpI6Tr9jMRAR3UZFdRP+fuQURg4fhmUJ4+E4gG5LvRX7nfJERNTPGprasO3gSbi7OuH/PjsDhvYOqSNZBc8YiIi60a7TY3tOGZq0OqxOmgS/Ye5SR7IaFgMR0W8YhMCeD8tx+XojliWMx92BnlJHsioWAxHRbxz68hJKzlQjadYoTB0tlzqO1fWoGPLz8xEbG4uoqChkZ2ffcrvPP/8cjz32mHE5Ly8PM2fORGJiIhITE5GVldX3xERE/ahIeR0fFF3Gw6FBiHlg4AzG6w2zbz6rVCpkZWUhNzcXrq6uSE5OxowZMxAcbPpZpjU1NXj11VdNvqZUKpGRkYH4+HjLpiYi6gfnKm5g70dnMOYubzwVPbAG4/WG2TOGoqIihIWFwdvbGzKZDNHR0SgoKOiy3fr167Fq1SqTr5WVlSEvLw8JCQlYu3YtGhoaLJeciMiCqutbsCO3DH7D3LFy3sAbjNcbZr/z6upqyOW/XGNTKBRQqVQm27z77rsYN24cJk2aZPJ1uVyOlStX4siRIwgKCkJmZqaFYhMRWU5Lqw7bfh6MtyYpdEAOxusNs5eSDAaDyemUEMJk+dy5cygsLMTevXtRVVVl8tqdO3ca/3vJkiWIjIzsVTg/P49ebS8Vudw+7lhgTsuyh5z2kBGQNmeH3oDtb/8b6htaZC4Px4RR/rfc1l72Z1+ZLYbAwECUlJQYl9VqNRSKXz6+rqCgAGq1GgsWLIBOp0N1dTVSUlKwe/du5OTk4OmnnwbQWShOTk69Cldb2wSDQfTqNdYml3tCrdZIHcMs5rQse8hpDxkBaXMKIfCPY2fxw3k1nokdg0CvIbfMYg/709HRwSJ/oTZ7KSk8PBzFxcWoq6uDVqtFYWEhIiIijOvT0tJw7NgxHD58GG+99RYUCgX2798PmUyGPXv24OTJkwCAffv29fqMgYioP318ogKf/1CJ2WF34eHQgT0YrzfMnjEEBAQgPT0dqamp0Ol0SEpKQmhoKJYuXYq0tDRMnDix29c5OTlh69at2LhxI1pbWzFy5Ehs3rzZ4t8AEdHv8cP5Grz36QVMGy3HgkcG/mC83nAQQtjstRpeSrIc5rQse8hpDxkBaXL+pNLglX3fIdBPhoxFUzHExfxlbnvYn1a7lERENJDcaGrDtoOlkLk5I21BaI9KYbBhMRDRoNGm02P7wVK0tHZgdVIofDyHSB3JJrEYiGhQMAiBPR+cxpUqDZbNGYe7AgbHrae/B4uBiAaFvH/+iG/PqrFwVjCm3Df4BuP1BouBiAa8r8qu48PiK4iYNBzRD9wpdRybx2IgogHt7E/12PvRGYy92wdPRo0etIPxeoPFQEQDlurnwXhyb3esnDdhUA/G6w3uJSIakJpbddj6fikAYPXCUAx1G9yD8XqDxUBEA06H3oBdeUrU3NBi1fyJCPCRSR3JrrAYiGhAEUJgX+FZlF+px9OzxyDkLh+pI9kdFgMRDSjHvqnAP09eR9yDd+OhiUFSx7FLLAYiGjC+P6fG+59dwPQQOeZF3Ct1HLvFYiCiAeFKlQa7809hZJAnno0fB0felvq7sRiIyO7Va9qwPacUHu4u+BMH4/UZi4GI7Fpbux7bc0rR0taBtAWh8PbgYLy+YjEQkd26ORjvpyoNls8Zz8F4FsJiICK7lfPFRXx7To0nHgvG5GB/qeMMGCwGIrJLX5ZW4qN//4RHJw9H5P0cjGdJLAYisjtnrtTj3YKzGD/SBymRHIxnaSwGIrIrqroW7Mwrg8LHHSvmcjBef+jRHs3Pz0dsbCyioqKQnZ19y+0+//xzPPbYY8blyspKLFq0CDExMVixYgWam5v7npiIBq0mrQ5b3z8JBwcHrF44CTIOxusXZotBpVIhKysL+/fvx6FDh/Dee+/hwoULXbarqanBq6++avK1l156CSkpKSgoKMCECROwa9cuyyUnokGlczBeGWobW7Fq/kQovN2ljjRgmS2GoqIihIWFwdvbGzKZDNHR0SgoKOiy3fr167Fq1Srjsk6nw4kTJxAdHQ0AmD9/frevIyIyRwiBd4+dxZmfbuCZ2WMx+k5vqSMNaM7mNqiuroZc/svnoyoUCpSWlpps8+6772LcuHGYNGmS8Wv19fXw8PCAs3PnbyGXy6FSqXoVzs/Po1fbS0Uut497p5nTsuwhpz1kBMznzP3sPP5Veh1PPD4ac2bdZ6VUXdnL/uwrs8VgMBhM3vEXQpgsnzt3DoWFhdi7dy+qqqpuuR2AXt85UFvbBINB9Oo11iaXe0Kt1kgdwyzmtCx7yGkPGQHzOb87p8beD07j/jEKRE67Q7LvyR72p6Ojg0X+Qm32UlJgYCDUarVxWa1WQ6FQGJcLCgqgVquxYMECLFu2DNXV1UhJSYGvry80Gg30en23ryMiMudKlQZv5Z/CyCAvPBs3loPxrMRsMYSHh6O4uBh1dXXQarUoLCxERESEcX1aWhqOHTuGw4cP46233oJCocD+/fvh4uKC6dOn4+jRowCAQ4cOmbyOiOh26jVt2HbwJDzdXZC2YCJcORjPaswWQ0BAANLT05Gamoq5c+ciPj4eoaGhWLp0KcrKym772g0bNuDAgQOIjY1FSUkJ1qxZY7HgRDRwtbZ3YNvBk9C265GWNAnDOBjPqhyEEDZ7EZ/vMVgOc1qWPeS0h4xA15wGIbAztww/XKjB6qRQhI6yjRlI9rA/rfYeAxGRNR38/CK+P1+D5D/cZzOlMNiwGIjIZvzzZCUKvv4Js6begcenjZA6zqDFYiAim1B+uQ7/OHYW4+/xRcrj93EwnoRYDEQkueu1zdiZp0SArwwrEifAyZE/mqTEvU9Ekmpsbse2g6VwcnLA6qRQyNzMPndL/YzFQESS6dAb8Mr/fIO6xlb8aX4o5ByMZxNYDEQkCSEE/qfgDJQXa/FM7FgEjxgmdST6GYuBiCRx9N9X8FVZFZIjQ/Dg+ECp49CvsBiIyOpKzlQj54sf8cBYBVKiQ6SOQ7/BYiAiq7p0vRF7PjiNUcM7B+PxtlTbw2IgIqupa2zF9pxSeMpcsWpBKFycORjPFrEYiMgqWts7sP1gKdra9Vi9MBTDhrpKHYlugcVARP3OYBB468hpVKibsGLuBIyQ28enMw5WLAYi6nfvf34BP1yoQcrjozHxXj+p45AZLAYi6ldf/HANx76pwB+mjsAfOBjPLrAYiKjfnL5ch32F5zDhXl8kPx4sdRzqIRYDEfWLm4PxAn1leG4OB+PZE/6fIiKL07S0Y+v7J+HCwXh2icVARBal6zBgZ24Z6jXtWLUgFP4cjGd3elQM+fn5iI2NRVRUFLKzs7us//jjj5GQkIC4uDhkZGSgvb0dAJCXl4eZM2ciMTERiYmJyMrKsmx6IrIpNwfjnbvagGfjxiL4Dg7Gs0dmz+9UKhWysrKQm5sLV1dXJCcnY8aMGQgO7nwjqaWlBZmZmcjLy4O/vz/S09ORl5eHJ554AkqlEhkZGYiPj+/3b4SIpPdh8RUUKaswd+Y9mDEuQOo49DuZPWMoKipCWFgYvL29IZPJEB0djYKCAuN6mUyGTz/9FP7+/tBqtaitrYWXlxcAoKysDHl5eUhISMDatWvR0NDQf98JEUnqxJlq5P7zR4SNC0DCQyOljkN9YLYYqqurIZfLjcsKhQIqlcpkGxcXF3zxxRd49NFHUV9fj5kzZwIA5HI5Vq5ciSNHjiAoKAiZmZkWjk9EtuDHys7BeMF3DMMzsWM4GM/OOQghxO02ePPNN9HW1oY1a9YAAA4cOAClUnnLH/JbtmzBtWvX8Prrr5t8vaGhAZGRkfjmm28sFJ2IbEF1fQv+vO2fcHVxwutpEfD2HCJ1JOojs+8xBAYGoqSkxLisVquhUCiMyzdu3IBSqTSeJSQkJCA9PR0ajQY5OTl4+umnAXS+KeXk1LtJirW1TTAYbttbkpPLPaFWa6SOYRZzWpY95LRGRm1bB17Z9x3a2jvw5ycmQ9faDnVre69+DXvYl4B95HR0dICfX9/nUJm9lBQeHo7i4mLU1dVBq9WisLAQERERxvVCCKxbtw6VlZUAgIKCAkydOhUymQx79uzByZMnAQD79u1DZGRknwMTkW0wGAR2HzmFyppmrEicgDv8h0odiSzE7BlDQEAA0tPTkZqaCp1Oh6SkJISGhmLp0qVIS0vDxIkT8fLLL2P58uVwcHBAcHAwXnrpJTg5OWHr1q3YuHEjWltbMXLkSGzevNka3xMRWcF7n15A6cVaPBk1GhM4GG9AMfseg5R4KclymNOy7CFnf2b87Ptr+Mexs3h82gikRI7u069lD/sSsI+cVruURET0a6cu1SG78BxCR/kh+Q/3SR2H+gGLgYh6rLKmGbsOKTHcX4blc8bD0ZG3pQ5ELAYi6pHGm4PxnB2RlhQK9yEcjDdQsRiIyCxdhwE7csvQ0NyOPy2YCP9hHIw3kLEYiOi2hBDY+1E5Lvw8GG/UcA7GG+hYDER0Wx8UXUbxKRXmPXwPHhjLwXiDAYuBiG7pm3IV8r68hAfHByA+fKTUcchKWAxE1K2LlQ34rw/LETxiGJ6ePZaD8QYRFgMRdVHToMUbB0vh7eGKVfMnwsWZPyoGE/7fJiIT2rYObDtYCp1eYHXSJHjJXKWORFbGYiAiI73BgL8fPoXrNS1YOW8ChnMw3qDEYiAio/c+uYCyH2uxKGo0xo/0lToOSYTFQEQAgE+/u4rj315F5PQ7MWvKHVLHIQmxGIgIyh9rsf/j85g0yg9PPBYsdRySGIuBaJC7pm7Cm4eVGO4/FMs4GI/AYiAa1Bqb27HtYClcnZ2wZiEH41EnFgPRIKXr0OON3FI0NLcjLSkUvl5uUkciG8FiIBqEhBD476NncPFaI5bGj8M9QV5SRyIbwmIgGoSOfHUZX59WYX7EvZg+RiF1HLIxLAaiQebfp6tw+F+X8NCEQMQ9eLfUccgG9agY8vPzERsbi6ioKGRnZ3dZ//HHHyMhIQFxcXHIyMhAe3s7AKCyshKLFi1CTEwMVqxYgebmZsumJ6JeuXCtAf/94RmMHjEMqTFjOBiPumW2GFQqFbKysrB//34cOnQI7733Hi5cuGBc39LSgszMTLzzzjv48MMP0dbWhry8PADASy+9hJSUFBQUFGDChAnYtWtX/30nRHRbNTe0eCOnFL6eQ/A8B+PRbZg9MoqKihAWFgZvb2/IZDJER0ejoKDAuF4mk+HTTz+Fv78/tFotamtr4eXlBZ1OhxMnTiA6OhoAMH/+fJPXEZH1tLR2DsbT6wVWLwyFJwfj0W2YLYbq6mrI5XLjskKhgEqlMtnGxcUFX3zxBR599FHU19dj5syZqK+vh4eHB5ydO++LlsvlXV5HRP2vczCeElV1nYPxgvw4GI9uz+zTLAaDweQ6pBCi2+uSjzzyCL7++mts2bIFGzduxF/+8pcu2/X2eqafn0evtpeKXO4pdYQeYU7LsoeccrkndueWQnmpDqsWTsIj99vmm832sC8B+8nZV2aLITAwECUlJcZltVoNheKX29tu3LgBpVKJmTNnAgASEhKQnp4OX19faDQa6PV6ODk5dXldT9TWNsFgEL16jbXJ5Z5QqzVSxzCLOS3LHnLK5Z7434JyfPDVJUQ/cCemjvKzycz2sC8B+8jp6Ohgkb9Qm72UFB4ejuLiYtTV1UGr1aKwsBARERHG9UIIrFu3DpWVlQCAgoICTJ06FS4uLpg+fTqOHj0KADh06JDJ64iof5WUq7D/+DlMDvbHwkc5GI96zmwxBAQEID09HampqZg7dy7i4+MRGhqKpUuXoqysDD4+Pnj55ZexfPlyzJkzB5cuXcK6desAABs2bMCBAwcQGxuLkpISrFmzpt+/ISICrqqbsPkfJbhT7oFlc8ZxMB71ioMQwmav1fBSkuUwp2XZcs6G5nb8v/8pgYDAC09Os/kZSLa8L3/NHnJa6lISRykSDSDtOj125JRC09KOV1c9jGFuTlJHIjvEJ1yIBojOwXjluFjZiKUJ4xB8p7fUkchOsRiIBojD/7qEb8qrseCRezEthIPx6PdjMRANAMWnqnDkq8uYOTEIsWG2+awC2Q8WA5GdO3/1Bt45Wo6QO72RGhPCwXjUZywGIjtWfUOLN3LK4OflhufnT4SzE/9IU9/xKCKyUy2tHdh+sBRCCKxeOAke7i5SR6IBgsVAZIf0BgPePKyEqq4FK+dNRKCvTOpINICwGIjsjBAC+z8+j1OX6vBUdAjG3u0jdSQaYFgMRHbmeMlVfPb9NcTMuAsRk4ZLHYcGIBYDkR05eaEG//vpeUy5zx9Jj46SOg4NUCwGIjtRUd2Evx85hTsVHliWMB6OvC2V+gmLgcgONDS1YdvBk3B3dcLqpEkY4soZSNR/WAxENq5dp8f2nDI0aXVYnTQJPp5DpI5EAxyLgciGGYTAng/Lcfl6I5YljMfdgYPjoyVJWiwGIht26MtLKDlTjaRZozB1tFzqODRIsBiIbFSR8jo+KLqMh0ODEPPAXVLHoUGExUBkg85V3MDej85gzF3eeCqag/HIulgMRDamur4FO3LL4DfMHSvncTAeWR+POCIb0tKqw7afB+OtSQrlYDySRI+KIT8/H7GxsYiKikJ2dnaX9cePH0diYiLmzJmDlStXoqGhAQCQl5eHmTNnIjExEYmJicjKyrJseqIBpENvwK5DSlTXa7Fq/kQEcDAeScTZ3AYqlQpZWVnIzc2Fq6srkpOTMWPGDAQHBwMAmpqasHHjRuTk5CAgIADbtm3DG2+8gfXr10OpVCIjIwPx8fH9/o0Q2bPOwXjncPpyPZ6JHYOQuzgYj6Rj9oyhqKgIYWFh8Pb2hkwmQ3R0NAoKCozrdTodNmzYgICAAABASEgIrl+/DgAoKytDXl4eEhISsHbtWuOZBBGZ+vhEBT7/oRKzw+7Cw6EcjEfSMnvGUF1dDbn8l/unFQoFSktLjcs+Pj6IjIwEALS2tuKtt97CU089BQCQy+VYvHgxpk6dii1btiAzMxOvv/56j8P5+Xn0eFspyeX28dARc1qWpXJ+c6oK7312AQ9ODMJzCybD0dFydyANtn3Z3+wlZ1+ZLQaDwWByq5wQottb5zQaDZ5//nmMGTMG8+bNAwDs3LnTuH7JkiXGAump2tomGAyiV6+xNrncE2q1RuoYZjGnZVkq508qDTbv+w53BXgiNWo0amubLJCu02Dbl/3NHnI6OjpY5C/UZi8lBQYGQq1WG5fVajUUCoXJNtXV1UhJSUFISAg2bdoEoLMo9u7da9xGCAEnJw7+IrrpRlMbth0shczNGWkLQjHEhX8+yDaYLYbw8HAUFxejrq4OWq0WhYWFiIiIMK7X6/V47rnnMHv2bLz44ovGswmZTIY9e/bg5MmTAIB9+/b1+oyBaKBq0+mx/WApmlt1SFsQysF4ZFPMXkoKCAhAeno6UlNTodPpkJSUhNDQUCxduhRpaWmoqqrC6dOnodfrcezYMQDAhAkTsGnTJmzduhUbN25Ea2srRo4cic2bN/cq3Bs5pXBwcIC/lxv8hnX+4z/MDX5ebnAfYjY6kU0yCIHTLH1vAAANTElEQVQ9H5zGlSoNVi2YyMF4ZHMchBA2exH/1b1f4/y1RtQ2tKJDbzBZN9TN+eeicIef18+F8XNx+A9zg8zNOg8G2cN1R4A5La0vOXO+uIgPi6/g/8wKRsyM/puBNBj2pTXZQ05Lvcdg03/tXpIwHgaDgEEIaJrbUdPQitrG1s5/N3T+u6quBcpLtWjXmRaH+xAn+Hm5Gwvjt+Xh4e7C+TNkdV+VXceHxVcQMWk4oh+4U+o4RN2y6WK4ydHBAcM8hmCYxxCMumNYl/VCCDRpdSaFUdv4y3+fraiHtk1v8hpXF8duzzZuLnsNdWVxkEWd/akeez86g7F3++DJqNE8vshm2UUxmOPg4ABPmSs8Za64J8ir221aWrsWx83lHysb0NzaYbK9s5NjZ1l4DYHfMPcuxeHtMcSi95vTwKb6eTCe3NsdK+dN4GA8smkDohh6QubmgrvcXHBXQPdv9GnbOkzOMn5dHBXn1Whs0Zls7+ToAF+vIQjy94CXu0uX4vDxGgInR/7hJ6C5VYet73c+FLp6YSiGWun9L6Lfa9AUgznuQ5wxQu6BEfLu37hp0+lR95v3N2obW9HQ3A5lVSNuNLWbbO/gAPh6DoGfl5vpGcfP//b1dIOLM4tjoOvQG7ArT4maG1qsTZ6MAB8OxiPbx2LooSEuTgjyG4ogv6EmX795p4Kuw4A6zW+Ko6EVtQ1anKuoR93pNvz6/i8HAMM8XG95Z5Wflxtc+cCTXRNCYF/hWZRfqcezcWM5GI/sBovBQlycHRHgI7vl3wg79Abc0LR1c2eVFj9WNqDkTDX0vxn/4SVz6fb9jZt3WfFZDtt27JsK/PPkdcQ9eDcemhgkdRyiHuNPFitxdnKEv7c7/L3du11vMAjcaOpaHLUNWlRUN+GH8zXdPsvhf4visOazHNTV9+fUeP+zC5geIse8iHuljkPUKywGG+Ho6ABfLzf4erl1u/52z3Jcr202+yzHiEBPyFyc+CyHFVyp0mB3/imMDPLEs/Hj4Mh9THaGxWAnevIsh0ar+/ks41dnHI2dl6vOVtyAts30llw+y2F59Zo2bM8phYe7C/7EwXhkp1gMA4SDgwO8ZK7wusWzHP7+Hrhytd6kNGp+VRx8lqPv2to7B+O1tHXgr4umwtuDg/HIPrEYBgkHBwcMdXPB0B48y/HL+xutqGn8+X2O2zzL0VkUXYtjMD3LcXMw3k8qDf6UFHrLfUxkD1gMZPR7n+WoadBCeam2x89y3LxsNZCe5cj54iK+PadG8mPBmBzsL3Ucoj5hMVCP3epZjpt+77Mcvz7buPsOb7g5wnhLrj08y/FlaSU++vdPeHTycETez8F4ZP9YDGQxvXmW49dnG7UNrbh47eazHFdMXmPrz3KcuVKPdwvOYvxIH6REcjAeDQwsBrKanjzL4ejqgnOXakze36htaEWFSmNzz3Ko6lqwM68MCh93rJjLwXg0cLAYyGY4OjpA7uMOdHgD3VyRMQiBxub2bgcd9uRZDkt+LoempR1b3z8JBwcHrF44iQ8T0oDCYiC74ejgAG+PIfD+nc9ynPmpHq3tff9cjg69Aa/sPYHaxlasTZ4CxS3OgIjsFYuBBgxzz3IIIdDS1tHnZzkqqptQdrEGS+PHYfSd3tb69oispkfFkJ+fjzfffBMdHR344x//iEWLFpmsP378ON544w0IITBixAi88sorGDZsGCorK7Fu3TrU1tbinnvuwd/+9jcMHdr9HS1E/e13P8vRoEVtYyt+Oq+G5udnOZ6IHI0HJwRaMz6R1TgIIcTtNlCpVPiP//gP5ObmwtXVFcnJydiyZQuCg4MBAE1NTYiJiUFOTg4CAgKwbds2aDQarF+/HsuXL8ecOXMQFxeHnTt3oqWlBevWretxuNraJhgMt40nOXv4gHCAOS2lTadHS2sHRt/rb9M5Advflzcxp+U4OjrAz6/755B69euY26CoqAhhYWHw9vaGTCZDdHQ0CgoKjOt1Oh02bNiAgIAAAEBISAiuX78OnU6HEydOIDo6GgAwf/58k9cR2aMhLk7w8eSoCxrYzBZDdXU15HK5cVmhUEClUhmXfXx8EBkZCQBobW3FW2+9hccffxz19fXw8PCAs3Pn1Sq5XG7yOiIisk1m32MwGAwmd2UIIbq9vU+j0eD555/HmDFjMG/ePKhUqi7b9fa2QEucElmDXG4fc3GY07LsIac9ZASY09aYLYbAwECUlJQYl9VqNRQKhck21dXVePbZZxEWFoYXXngBAODr6wuNRgO9Xg8nJ6duX2cO32OwHOa0LHvIaQ8ZAea0JKu9xxAeHo7i4mLU1dVBq9WisLAQERERxvV6vR7PPfccZs+ejRdffNF4VuDi4oLp06fj6NGjAIBDhw6ZvI6IiGyT2TOGgIAApKenIzU1FTqdDklJSQgNDcXSpUuRlpaGqqoqnD59Gnq9HseOHQMATJgwAZs2bcKGDRuQkZGBN998E0FBQdiyZUu/f0NERNQ3Zm9XlRIvJVkOc1qWPeS0h4wAc1qSpS4l2fSTz/by6WDMaVnMaTn2kBFgTkuxVD6bPmMgIiLr45xgIiIywWIgIiITLAYiIjLBYiAiIhMsBiIiMsFiICIiEywGIiIywWIgIiITLAYiIjIhWTE0NTUhPj4eV69e7bKuvLwc8+fPR3R0NF588UV0dHR+QHtlZSUWLVqEmJgYrFixAs3NzZJlPH78OBITEzFnzhysXLkSDQ0NAIC8vDzMnDkTiYmJSExMRFZWVr9mNJdzx44dmDVrljFPdnY2AOvvy9vlLC8vN+ZLTEzEww8/jPj4eADW3587duxAXFwc4uLisHnz5i7rbeXYNJfTVo5Pczlt5fi8XU5bOj63bduG2NhYxMXF4Z133umy3mLHp5DADz/8IOLj48X48eNFRUVFl/VxcXHi+++/F0II8de//lVkZ2cLIYRYtmyZ+OCDD4QQQuzYsUNs3rxZkowajUY89NBDoqqqSgghxNatW8XLL78shBAiMzNT5Ofn91uu3uQUQojly5eL7777rsvXrbkve5LzppaWFhEXFydOnDghhLDu/vzqq6/EE088Idra2kR7e7tITU0VhYWFJtvYwrFpLqetHJ892Z+2cHz2JOdNUh6fX3/9tUhOThY6nU5otVoxa9YscfHiRZNtLHV8SnLGcODAAWzYsKHbD+65du0aWltbMXnyZAC/fFa0tT9D+nYZb/U51wBQVlaGvLw8JCQkYO3atca/qUmREwCUSiV2796NhIQEZGZmoq2tTZLP4zaX86bdu3fj/vvvx/Tp0wFYd3/K5XJkZGTA1dUVLi4uGDVqFCorK43rbeXYNJfTVo5PczkB2zg+e5LzJimPzwceeADvvvsunJ2dUVtbC71eD5lMZlxvyeNTkmLYtGmTccf+1m8/Y/rmZ0Vb+zOkb5fxVp9zfTPXypUrceTIEQQFBSEzM7PfMprL2dzcjLFjx2LdunXIy8tDY2Mjdu3aJcnncd8u500ajQYHDhzAqlWrjF+z5v687777jH+oLl++jI8++giPPPKIcb2tHJvmctrK8Wkup60cn+Zy3iT18Ql0fgDa9u3bERcXhwcffNBY/oBlj0+be/P5Vp8xLbr5rOnefoa0pWk0Gixbtsz4OdcAsHPnTkybNg0ODg5YsmQJvvzyS8nyDR06FG+//TZGjRoFZ2dnLF68GF988YVN7ksAOHLkCB5//HH4+fkZvybF/jx//jwWL16Mv/zlLxg5cqTx67Z2bN4q5022cnzeKqetHZ/m9qetHJ9paWkoLi7G9evXceDAAePXLXl82lwxBAYGQq1WG5dramqgUChMPkMa6P6zp62puroaKSkpCAkJwaZNmwB0/kHcu3evcRshBJycnCRK2PmG08GDB03yODs729y+vOn48eOIjY01LkuxP7/99ls8/fTT+POf/2z8YXqTLR2bt8sJ2M7xebuctnR8mtufgPTH58WLF1FeXg4AcHd3R1RUFM6ePWtcb8nj0+aK4Y477sCQIUPw7bffAgAOHz6MiIgIm/oM6Vt9zrVMJsOePXtw8uRJAMC+ffuMp/RScHNzw2uvvYaKigoIIZCdnY3IyEib2pc3CSFw6tQpTJkyxfg1a+/P69ev4/nnn8ff/vY3xMXFdVlvK8emuZy2cnyay2krx6e5nIBtHJ9Xr17F+vXr0d7ejvb2dnzyySeYNm2acb1Fj88+v1XeB7NmzTLeobJkyRJRWloqhBCivLxcLFiwQERHR4v//M//FG1tbUIIIa5evSqefPJJMXv2bLF48WJx48YNSTIWFhaKkJAQMWfOHOM/L7zwghBCiBMnToi5c+eKmJgY8dxzz4nGxsZ+z3irnEIIUVBQIOLi4kRUVJTIyMiQdF/eLmdNTY0IDw/vsr019+fLL78sJk+ebPL/df/+/TZ3bJrLaSvHZ0/2py0cnz3JaQvHpxBCbN++XcyePVvEx8eL7du3CyH652cnP8GNiIhM2NylJCIikhaLgYiITLAYiIjIBIuBiIhMsBiIiMgEi4GIiEywGIiIyASLgYiITPx/yZNBua7Ll2gAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制分布图\n",
    "\n",
    "(train_data['Pclass'].value_counts().sort_index()/train_count).plot()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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TJ06lenTpzN9+nS2bdumd6QG1q1bx6xZs7j55pv5wx/+oHecRr3//vvun+H06dNJTEzkySef1DtWo9asWeP+f/25555r3caanzl9+rQ2btw4raSkRKusrNTS0tK0AwcO6B2rge+++05LTU3VhgwZoh0/flzvOI3atGmT9uMf/1irqanRamtrtfT0dC0rK0vvWA1s3rxZmzNnjuZwODS73a6NGzdOO3TokN6xmpSdna2NGTNG+81vfqN3lEapqqpde+21msPh0DtKk44dO6Zde+21Wl5enlZbW6vddttt2vr16/WO1az9+/drEyZM0IqKivSO0kBVVZV29dVXa0VFRZrD4dBmz56tbdq0qcXb+907iuzsbJKSkoiIiCA4OJhJkyaxdu1avWM1sGLFCh5//PFW3we8LVmtVh5++GEsFgtms5m+ffty6tQpvWM1MHr0aN566y1MJhNFRUW4XC6Cg4P1jtWo0tJSFi1axH333ad3lCYdPnwYgLvuuotp06bxzjvv6JyooU8//ZQpU6YQGxuL2Wxm0aJFDBs2TO9YzXriiSfIyMggMjJS7ygNuFwuVFXFbrfjdDpxOp0EBAS0eHu/u3psQUEBVqvVPW2z2di+fbuOiRr31FNP6R3hkvr37+9+fPToUf7973/z7rvv6pioaWazmVdeeYU333yTyZMnExMTo3ekRv32t78lIyODvLw8vaM0qaysjLFjx/LYY4/hcDhIT0+nd+/eXHPNNXpHc/v+++8xm83cd9995OXlccMNN/Dggw/qHatJ2dnZVFdXc/PNN+sdpVEhISH88pe/5OabbyYoKIirr76akSNHtnh7v3tHoaoqivLDpXI1Tas3LVrvwIED3HXXXTz00ENcddVVesdp0gMPPEBOTg55eXmsWLFC7zgNvP/++3Tp0oWxY8fqHaVZI0aM4Pnnnyc0NJTIyEhmz57NF198oXeselwuFzk5OTz99NO89957bN++nVWrVukdq0n/+Mc/mDdvnt4xmrR3714++OADPv/8czZs2IDBYOCNN95o8fZ+VxSxsbEUFha6pwsLC316eMfXbd26lZ/+9Kf8z//8DzNnztQ7TqMOHTrEnj17AAgKCmLixIns27dP51QN/etf/2LTpk1Mnz6dV155hXXr1vH000/rHauB3NxccnJy3NOapmEy+dbgQnR0NGPHjiUyMpLAwEDGjx/vkyMHALW1tWzZsoUbb7xR7yhN2rhxI2PHjiUqKgqLxcKsWbP4+uuvW7y93xVFcnIyOTk5FBcXY7fbycrKIiUlRe9YfikvL4/777+fP/7xj0ydOlXvOE06ceIEjz76KLW1tdTW1vKf//yHxMREvWM1sHTpUj766CPWrFnDAw88wI033sjChQv1jtVAeXk5zz//PDU1NVRUVLBq1SomTJigd6x6xo0bx8aNGykrK8PlcrFhwwaGDBmid6xG7du3j6uuuspnPzcDGDhwINnZ2VRVVaFpGuvWrSM+Pr7F2/vWrxEtEBMTQ0ZGBunp6TgcDmbPnk1CQoLesfzSG2+8QU1NDc8++6x73pw5c7jtttt0TNXQ9ddfz/bt25kxYwZGo5GJEyf6dLH5unHjxrFt2zZmzJiBqqrMnTuXESNG6B2rnmHDhnHPPfcwd+5cHA4H11xzDT/60Y/0jtWo48ePExsbq3eMZl177bXs3r2bWbNmYTabiY+P52c/+1mLt5c73AkhhGiW3w09CSGEaFtSFEIIIZolRSGEEKJZUhRCCCGaJUUhhBCiWX739Vgh2sp3333Hiy++SGlpKZqmERsby29+8xuqq6tZsmQJr7zyCg8//DD9+/fn7rvvbrB9QUEBTz/9NIcOHQIgMDCQe++9l/Hjx7f1UxHiikhRCNGI2tpa7r33Xt588033iV5r1qxh/vz5/Oc//+GVV1655D4effRRkpOTefnllwE4ePAgt912G71796Zv375ezS+EJ8nQkxCNsNvtlJeXU1VV5Z43bdo0HnvsMXJyckhNTXXP37p1K7feeitTpkzhqaeewul0AnWXl6murkZVVQD69evH66+/TlhYGACDBw9m0aJFzJo1i8mTJ5OVldWGz1CIlpN3FEI0Ijw8nAULFnDPPfcQHR3NyJEjGTNmDFOnTm1wzaHTp0/zzjvvYDKZuPvuu1mxYgVz587loYceYsGCBSxdupSRI0eSmJhIWlqa++rHLpeLoKAgVq5cyd69e7njjjsYNWqUT16mWnRs8o5CiCbMmzePTZs28eijj2K1WlmyZAkzZsygvLy83nrTp08nODgYi8XCtGnTyM7OBmDs2LGsX7+e1157jWHDhvH5558zefLkekVzxx13AHXX4hkwYABbtmxpuycoRAtJUQjRiK1bt/LXv/6VkJAQxo0bx0MPPcTHH3+MoijuoaXzjEaj+/H5K7EWFRXxxBNPoCgKo0aN4r777mPZsmVMmTKF1atXN7qtqqr1poXwFVIUQjQiMjKS119/ndzcXPe8wsJCKioqKC0trbfuxx9/TG1tLTU1NaxatYqUlBTCw8PJzs7mrbfe4vzl1Ox2O8eOHWPw4MHubc+Xxq5duzhy5AhXX311Gzw7IVpHPqMQohG9e/fmtddeY9GiRZw+fZqAgABCQ0N5+umnG9xCsnv37sydO5fKykomTJjAzJkzURSFN954gxdeeIG3336b4OBgFEVh5syZzJ49273tN998w4oVK1BVlUWLFhEeHt7WT1WIS5Krxwqhk7i4OHJycuTDa+HzZOhJCCFEs+QdhRBCiGbJOwohhBDNkqIQQgjRLCkKIYQQzZKiEEII0SwpCiGEEM2SohBCCNGs/w9iyHBnCxPNMQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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pUsHd3cXXXRR6A/gyJEjvPPOOyiKklB1UMdsNvPkk08yffp0JkyYkHC/CwAPPPAACxcupGfPnkDi/T1UVlYyYcIEnnnmGV566SVee+01Tp06FfM6iJsAae0SuvGupfcf7/Vy4MABbrnlFn72s5/Rr1+/hKwDgAULFrB582ZOnz7NkSNHEqoeXn/9dfr06cOECRNCjyXa38OYMWNYsmQJKSkppKenM2fOHJ588smY10HMLml7trV2Cd141/gSwXXvv6VLB8eDrVu3smDBAu677z6mT5/O559/nnB1cOjQITweDxdffDE2m40pU6awfv16NE0L7RPv9fD222/jcDiYNWsWFRUV1NbWcvLkyYSqgy1btuD1ekMhahgGubm5Mf97iJsWSGuX0I13l1xyCYcPH+bo0aP4/X7++te/Mnny5BYvHdzdnT59mh//+McsXbqU6dOnA4lXBwAnTpzg/vvvx+Px4PF4+OCDD5g7d25C1cOLL77IX//6V9auXcuCBQu45ppr+OMf/5hQdVBVVcWSJUtwu91UV1fz1ltvcffdd8e8DuKmBdLwErper5c5c+YwatSori7WWWO1Wnnssce44447cLvdXHnllUydOhUIXDr4/vvvp7q6muHDh4cuHdydPf/887jdbh577LHQY3Pnzk2oOgC48sor2blzJ7Nnz0bTNKZMmcL06dNJT09PqHpoLNH+Hq6++mp27NjB7Nmz0XWdG2+8kTFjxsS8DuSKhEIIIdolbrqwhBBCnF0SIEIIIdpFAkQIIUS7SIAIIYRoFwkQIYQQ7RI303iF6ApDhgxh8ODBqGr9d7ERI0bwyCOPdGGphDg7JECE6KA//elPpKend3UxhDjrJECEiJHVq1ezcuVKvF4vFRUVzJ8/nxtvvJE333yT1atX43Q6SU5O5uWXX+b111/n1VdfRdd1UlNT+fnPf86FF17Y1W9BiIgkQITooJtuuimsC+uFF14gKSmJ119/nT/84Q+kpaWxfft2br75Zm688UYADh48yN///neSk5P5/PPPWbNmDcuXL8dms/HJJ5/wk5/8hHfeeaer3pIQUZEAEaKDWurC+v3vf88//vEPjhw5wr59+6itrQ1tGzJkCMnJyQBs3LiRo0ePMnfu3ND2yspKysvLSU1Njf0bEKKdJECEiIEzZ85www038O1vf5uxY8cydepUPvzww9B2u90euq3rOrNmzWLRokWh+0VFRfTq1eusl1uItpBpvELEwO7du0lPT+dHP/oRkyZNCoWH3+9vsu+kSZP429/+RlFREQCvvvoqN91001ktrxDtIS0QIWLgiiuuYPXq1UydOhVFUbjssstIT0/n6NGjTfadNGkS8+fP55ZbbkFRFJKTk3n66afj4kJHIr7J2XiFEEK0i3RhCSGEaBcJECGEEO0iASKEEKJdJECEEEK0iwSIEEKIdpEAEUII0S4SIEIIIdpFAkQIIUS7/H8s4xG2tFTSWQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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2t+rgmLIkCGEh4fz2muvYbPZAPjxxx9ZuXIlcXFxbq5OtGeJiYns27cPi8UCQHFxMYqisGfPHrkiT7idj48PixYt4vjx44Dji83+/fvp06dPo/b3uoWLiouLef7558nIyECr1RIaGspjjz1G37593V2aaMcUReHOO+8kNjaWv/3tb7z//vt888035OTksGjRIoYPH+7uEkU7t2rVKt555x3nl5mrrrqKRx99FL1ef9F9vS4ohPBUVVVVLFq0iE2bNqHT6QgKCkJRFAYNGsSCBQsa9RdSCE8kQSGEC9ntdn744QdGjRp1wXMYQngDCQohhBAN8qqT2UIIIVqfBIUQQogGSVAIIYRokASFaDd69+5NcnIykydPrvfP2WvLG2P79u1MnDixRWopLi5u9v5paWnMnDnzkusQojG8qimgEJfqP//5D2FhYe4uQwivIkEhBI6Rwssvv0xMTAxHjhzB19eXu+++mw8++IAjR44wduxYHn/8ccDRTnzevHkcO3aMoKAgnnnmGbp3786RI0d45plnOHPmDIWFhcTHx/PKK69gMBjo378/o0ePJisri3/84x/O1y0sLOT222/nlltuYcaMGRw+fJjnnnuO06dPY7PZmDlzJikpKQAsWbKE1NRUQkJCGt3MTYgWoQjRTvTq1UuZOHGiMmnSJOc/999/v6IoirJt2zalT58+yr59+xRFUZQ777xTufnmm5WamhqlqKhI6devn5Kfn69s27ZNiY+PV3bt2qUoiqJ88sknSkpKiqIoirJw4UJl9erViqIoitlsViZOnKikpaU5X3vVqlX1asnMzFQmTJigrFmzRlEURbFYLMqECROUjIwMRVEUpaysTBk/fryye/du5ZtvvlEmTJiglJeXKxaLRbn77ruV2267rRXeNSEURUYUol1paOqpU6dOzlYwXbp0ITAwEL1eT1hYGP7+/pSWlgKO8wuXXXYZAFOmTOGpp56ivLycRx55hM2bN/P2229z9OhRCgoKqKysdB7/92tSzJkzh+joaJKTkwE4evQoOTk5zpELOJoKZmZmcvjwYcaMGUNAQAAA06ZN44MPPmihd0WIhklQCFHr9y02tNoL//X4/XooKpUKrVbLww8/jM1mY/z48YwaNYq8vLx6nWP9/Pzq7ffMM8/wz3/+k3fffZc77rgDm81GYGAga9ascW5z6tQpAgMDefHFF+sdS6PRNPv3FKKp5KonIZooOzub/fv3A/Dpp58yePBgfH19+emnn3jggQeYMGECAHv27HF2Ob6QgQMHsnDhQpYtW8aBAwfo3r07Pj4+zqDIy8tj4sSJZGRkMHLkSNLS0igrK8Nut9cLEyFcTUYUol2ZPXv2eSOChx9+GB8fn0YfIzY2ltdee43c3FzCw8NZuHAhAAsWLOCBBx7Az8+PgIAALr/8cnJyci56rPvvv59HHnmE5cuX88Ybb/Dcc8/xr3/9C6vVyvz58xk8eDDgCKhp06YRFBREfHw8JSUlTfzthWge6fUkhBCiQTL1JIQQokESFEIIIRokQSGEEKJBEhRCCCEaJEEhhBCiQRIUQgghGiRBIYQQokESFEIIIRr0/wOtldlm34/J9wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "features = ['Pclass', 'Name', 'Sex', 'Age', 'SibSp', 'Parch', 'Ticket', 'Fare', 'Embarked']\n",
    "\n",
    "for feature in features:\n",
    "    (train_data[feature].value_counts().sort_index()/train_count).plot()\n",
    "    (test_data[feature].value_counts().sort_index()/test_count).plot()\n",
    "    \n",
    "    plt.legend(['train', 'test'])\n",
    "    plt.xlabel(feature)\n",
    "    plt.ylabel('ratio')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "很明显，从上述图中可以发现训练集和测试集数据分布不一致的字段有：Name、Ticket，故而可以这里可以直接将这两个字段进行删除。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 删除训练集和测试集的Cabin字段\n",
    "\n",
    "train_data = train_data.drop(['Name', 'Ticket'], axis=1)\n",
    "\n",
    "test_data = test_data.drop(['Name', 'Ticket'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 9 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Fare           891 non-null float64\n",
      "Embarked       889 non-null object\n",
      "dtypes: float64(2), int64(5), object(2)\n",
      "memory usage: 62.7+ KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注意到，SibSp, Parch字段的数据分布极为相似，所以这里可以对其进行合并处理，操作如下："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\softwares\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:190: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    }
   ],
   "source": [
    "# 1. 将Parch和SibSp合并为Family\n",
    "\n",
    "# 训练集\n",
    "train_data['Family'] = train_data['Parch'] + train_data['SibSp']\n",
    "train_data['Family'].loc[train_data['Family'] > 0] = 1\n",
    "train_data['Family'].loc[train_data['Family'] == 0] = 0\n",
    "\n",
    "# 删除列Parch、SibSp\n",
    "train_data = train_data.drop(['Parch', 'SibSp'], axis=1)\n",
    "\n",
    "# 测试集\n",
    "test_data['Family'] = test_data['Parch'] + test_data['SibSp']\n",
    "test_data['Family'].loc[test_data['Family'] > 0] = 1\n",
    "test_data['Family'].loc[test_data['Family'] == 0] = 0\n",
    "\n",
    "# 删除列Parch、SibSp\n",
    "test_data = test_data.drop(['Parch', 'SibSp'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 8 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "Fare           891 non-null float64\n",
      "Embarked       889 non-null object\n",
      "Family         891 non-null int64\n",
      "dtypes: float64(2), int64(4), object(2)\n",
      "memory usage: 55.8+ KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 418 entries, 0 to 417\n",
      "Data columns (total 7 columns):\n",
      "PassengerId    418 non-null int64\n",
      "Pclass         418 non-null int64\n",
      "Sex            418 non-null object\n",
      "Age            332 non-null float64\n",
      "Fare           417 non-null float64\n",
      "Embarked       418 non-null object\n",
      "Family         418 non-null int64\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 22.9+ KB\n"
     ]
    }
   ],
   "source": [
    "test_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注意到train_data和test_data中均有PassengerId，故而这里可以简单校验一下数据的PassengerId是否有重复"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data['PassengerId'].nunique() == train_count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data['PassengerId'].nunique() == test_count"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "也就是，满足唯一条件。由于PassengerId仅用于表示数据，故而可以在训练数据集中删除，由于测试集最后输出的预测结果需要和PassengerId对应，这里先不删除。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 删除列PassengerId\n",
    "train_data = train_data.drop(['PassengerId'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 7 columns):\n",
      "Survived    891 non-null int64\n",
      "Pclass      891 non-null int64\n",
      "Sex         891 non-null object\n",
      "Age         714 non-null float64\n",
      "Fare        891 non-null float64\n",
      "Embarked    889 non-null object\n",
      "Family      891 non-null int64\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 48.8+ KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注意到此时，Age和Embarked字段还没有对缺失值处理，这里需要继续处理。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\softwares\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:190: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    }
   ],
   "source": [
    "# 使用(mean - std) & (mean + std) 之间的随机数来填充\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "age_mean = train_data['Age'].mean()\n",
    "age_std = train_data['Age'].std()\n",
    "\n",
    "count_nan_age = train_data[\"Age\"].isnull().sum()\n",
    "\n",
    "random_ages = np.random.randint(age_mean - age_std, age_mean + age_std, size=count_nan_age)\n",
    "\n",
    "train_data['Age'].loc[np.isnan(train_data['Age']) == True] = random_ages\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 418 entries, 0 to 417\n",
      "Data columns (total 7 columns):\n",
      "PassengerId    418 non-null int64\n",
      "Pclass         418 non-null int64\n",
      "Sex            418 non-null object\n",
      "Age            332 non-null float64\n",
      "Fare           417 non-null float64\n",
      "Embarked       418 non-null object\n",
      "Family         418 non-null int64\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 22.9+ KB\n"
     ]
    }
   ],
   "source": [
    "test_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "age_mean = test_data['Age'].mean()\n",
    "age_std = test_data['Age'].std()\n",
    "\n",
    "count_nan_age = test_data[\"Age\"].isnull().sum()\n",
    "\n",
    "random_ages = np.random.randint(age_mean - age_std, age_mean + age_std, size=count_nan_age)\n",
    "\n",
    "test_data['Age'].loc[np.isnan(test_data['Age']) == True] = random_ages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 418 entries, 0 to 417\n",
      "Data columns (total 7 columns):\n",
      "PassengerId    418 non-null int64\n",
      "Pclass         418 non-null int64\n",
      "Sex            418 non-null object\n",
      "Age            418 non-null float64\n",
      "Fare           417 non-null float64\n",
      "Embarked       418 non-null object\n",
      "Family         418 non-null int64\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 22.9+ KB\n"
     ]
    }
   ],
   "source": [
    "test_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 7 columns):\n",
      "Survived    891 non-null int64\n",
      "Pclass      891 non-null int64\n",
      "Sex         891 non-null object\n",
      "Age         891 non-null float64\n",
      "Fare        891 non-null float64\n",
      "Embarked    889 non-null object\n",
      "Family      891 non-null int64\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 48.8+ KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "test_data的Fare字段缺少部分值，"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data['Fare'].isna().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于只有一个，直接使用众数填充\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "14.4542"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data['Fare'].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\softwares\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py:190: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    }
   ],
   "source": [
    "test_data['Fare'].loc[test_data['Fare'].isna() == True] = test_data['Fare'].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 418 entries, 0 to 417\n",
      "Data columns (total 7 columns):\n",
      "PassengerId    418 non-null int64\n",
      "Pclass         418 non-null int64\n",
      "Sex            418 non-null object\n",
      "Age            418 non-null float64\n",
      "Fare           418 non-null float64\n",
      "Embarked       418 non-null object\n",
      "Family         418 non-null int64\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 22.9+ KB\n"
     ]
    }
   ],
   "source": [
    "test_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0        7.8292\n",
       "1        7.0000\n",
       "2        9.6875\n",
       "3        8.6625\n",
       "4       12.2875\n",
       "5        9.2250\n",
       "6        7.6292\n",
       "7       29.0000\n",
       "8        7.2292\n",
       "9       24.1500\n",
       "10       7.8958\n",
       "11      26.0000\n",
       "12      82.2667\n",
       "13      26.0000\n",
       "14      61.1750\n",
       "15      27.7208\n",
       "16      12.3500\n",
       "17       7.2250\n",
       "18       7.9250\n",
       "19       7.2250\n",
       "20      59.4000\n",
       "21       3.1708\n",
       "22      31.6833\n",
       "23      61.3792\n",
       "24     262.3750\n",
       "25      14.5000\n",
       "26      61.9792\n",
       "27       7.2250\n",
       "28      30.5000\n",
       "29      21.6792\n",
       "         ...   \n",
       "388      7.7500\n",
       "389     21.0750\n",
       "390     93.5000\n",
       "391     39.4000\n",
       "392     20.2500\n",
       "393     10.5000\n",
       "394     22.0250\n",
       "395     60.0000\n",
       "396      7.2500\n",
       "397     79.2000\n",
       "398      7.7750\n",
       "399      7.7333\n",
       "400    164.8667\n",
       "401     21.0000\n",
       "402     59.4000\n",
       "403     47.1000\n",
       "404     27.7208\n",
       "405     13.8625\n",
       "406     10.5000\n",
       "407    211.5000\n",
       "408      7.7208\n",
       "409     13.7750\n",
       "410      7.7500\n",
       "411     90.0000\n",
       "412      7.7750\n",
       "413      8.0500\n",
       "414    108.9000\n",
       "415      7.2500\n",
       "416      8.0500\n",
       "417     22.3583\n",
       "Name: Fare, Length: 418, dtype: float64"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.Fare"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 7 columns):\n",
      "Survived    891 non-null int64\n",
      "Pclass      891 non-null int64\n",
      "Sex         891 non-null object\n",
      "Age         891 non-null float64\n",
      "Fare        891 non-null float64\n",
      "Embarked    889 non-null object\n",
      "Family      891 non-null int64\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 48.8+ KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注意到，Embarked字段确实，查看该字段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.Embarked.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      S\n",
       "1      C\n",
       "2      S\n",
       "3      S\n",
       "4      S\n",
       "5      Q\n",
       "6      S\n",
       "7      S\n",
       "8      S\n",
       "9      C\n",
       "10     S\n",
       "11     S\n",
       "12     S\n",
       "13     S\n",
       "14     S\n",
       "15     S\n",
       "16     Q\n",
       "17     S\n",
       "18     S\n",
       "19     C\n",
       "20     S\n",
       "21     S\n",
       "22     Q\n",
       "23     S\n",
       "24     S\n",
       "25     S\n",
       "26     C\n",
       "27     S\n",
       "28     Q\n",
       "29     S\n",
       "      ..\n",
       "861    S\n",
       "862    S\n",
       "863    S\n",
       "864    S\n",
       "865    S\n",
       "866    C\n",
       "867    S\n",
       "868    S\n",
       "869    S\n",
       "870    S\n",
       "871    S\n",
       "872    S\n",
       "873    S\n",
       "874    C\n",
       "875    C\n",
       "876    S\n",
       "877    S\n",
       "878    S\n",
       "879    C\n",
       "880    S\n",
       "881    S\n",
       "882    S\n",
       "883    S\n",
       "884    S\n",
       "885    Q\n",
       "886    S\n",
       "887    S\n",
       "888    S\n",
       "889    C\n",
       "890    Q\n",
       "Name: Embarked, Length: 891, dtype: object"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.Embarked"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Survived    0\n",
       "Pclass      0\n",
       "Sex         0\n",
       "Age         0\n",
       "Fare        0\n",
       "Embarked    2\n",
       "Family      0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PassengerId    0\n",
       "Pclass         0\n",
       "Sex            0\n",
       "Age            0\n",
       "Fare           0\n",
       "Embarked       0\n",
       "Family         0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data['Embarked'].fillna(train_data['Embarked'].mode()[0], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Survived    0\n",
       "Pclass      0\n",
       "Sex         0\n",
       "Age         0\n",
       "Fare        0\n",
       "Embarked    0\n",
       "Family      0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "观察到，测试数据中还保留有PassengerId，这列数据将在之后有用，故而这里可以拷贝一个副本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "test = test_data.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>34.5</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>47.0</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>2</td>\n",
       "      <td>male</td>\n",
       "      <td>62.0</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>27.0</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>22.0</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Pclass     Sex   Age     Fare Embarked  Family\n",
       "0          892       3    male  34.5   7.8292        Q       0\n",
       "1          893       3  female  47.0   7.0000        S       1\n",
       "2          894       2    male  62.0   9.6875        Q       0\n",
       "3          895       3    male  27.0   8.6625        S       0\n",
       "4          896       3  female  22.0  12.2875        S       1"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass     Sex   Age     Fare Embarked  Family\n",
       "0         0       3    male  22.0   7.2500        S       1\n",
       "1         1       1  female  38.0  71.2833        C       1\n",
       "2         1       3  female  26.0   7.9250        S       0\n",
       "3         1       1  female  35.0  53.1000        S       1\n",
       "4         0       3    male  35.0   8.0500        S       0"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "至此，对于缺失值的处理完毕。这里继续进一步的处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "male      577\n",
       "female    314\n",
       "Name: Sex, dtype: int64"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data['Sex'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    549\n",
       "1    342\n",
       "Name: Survived, dtype: int64"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data['Survived'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以进一步的来分析一下每个因素和Sruvived的关系。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2bf0c439d30>"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "sns.countplot(x='Survived', hue='Sex', data=train_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出，女性更容易存活"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['Survived', 'Pclass', 'Sex', 'Age', 'Fare', 'Embarked', 'Family'], dtype='object')"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2bf0c1efd30>"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "sns.countplot(x='Survived', hue='Pclass', data=train_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出，Pclass=1的死亡更低，存活更高。可见该因素存在影响"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2bf0c5a6898>"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "sns.boxplot(x='Survived', y = 'Age', data=train_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上图中可以看见，死亡和存活的年龄箱线图类似，没有什么区分。因为显示的都是最小到最大的范围，以及四分位点和平均值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2bf0d0e4668>"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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ZdKur909D+osn6bnOsun6bli+bTra7FslrW1WD7Lca6z195VzxXLZllbi+WzrK3Fzn+vu+661Me57p4/d5bvqu86y6bpuWL57373u6mPc8XyL7/8cqq+K5b93ve+l7rnOnvtaY5zxfL3339/6r7r6LWn6bti10x/+ctfUvdcd6+5Ost31XOdZdP0XLH8XXfdlbrniuVXrFiR+lhXLJ/1nG7L69U81395r3eL5bNcgxW7Xs5zTteVnWq4NHTo0KitrW17XFtbm+vjbd3x5JNPxqc//en4yle+Eqeffnrq3EsvvRTPPvtsRETstttuMXr06Hj++edT53/xi1/EY489Fqeeempcd911sXTp0vj2t7+dOr9ixYpYvnx52+MkSbq82eaW9t577zjiiCNizz33jIqKijjhhBNi5cqVqfONjY3xxBNPxHHHHZc6845HH300jjjiiNhrr72ivLw8Jk6cGL/97W9T5zdu3BijR4+ORYsWxU9/+tMoLy9P9Q6cLe0IvffSSy/FlClT4vTTT48LLrggde61116LJ598MiIi+vXrF6ecckqm3rv//vvjhRdeiFNPPTVmzZoVv//97+NLX/pS6vzzzz8fS5YsaXucpff23nvvGDFiROy3335RVlYWJ598cqa+e8dDDz0UY8eOzZxbsWJFvP/974+/+7u/i759+8bHP/7xTL3X0NAQw4cPj3vvvTd+/vOfx5AhQzrsvfbHlqw9l/fY1Fk+S8+1z2fpu/bZrD3XPp+159rns/ZdR9/7NH3XPpu159rns/RcsXXp8ccfT9133VnXOsqm7bli+aeffjp1z3WUT9N3xbK/+MUvUvdcsfzs2bNT91xn3/c0PVcs/8tf/jJV3xXLrly5MnXPFTuXueuuu1L1XHfPgzrKp+25Yvl3bjIb0XXPFcunPdYVy15wwQWpe65Y/sc//nHqnuvse99VzxXLTp48OfVxrqN9p+25Yue/++67b+rjXHfPnzvKp+m7Ytm6urrUPVcs/4EPfCD1+los/8orr6Tqu2LZwYMHp+65zr7vaY5zxfKPP/546r7raP9p+q7YNdOyZctS91x3r7k6yqfpuWLZJ554InXPFcs/9dRTqXuuWP6ee+5Jfawrlr/ppptS913769Ws5+Ldud4tls9yPlzsejnLOV1q3bpj0w7mnRt6r127Nnn77beTCRMmJE8//XSur3XsscdmvqH3q6++mhx22GHJsmXLMu/v4YcfTiZOnJg0NDQkDQ0NyWc+85nk/vvvz/x1kiRJ7r777sw39F66dGly2mmnJfX19UldXV0yfvz45D/+4z9S5//zP/8zGTNmTLJhw4a2m2J3dfPFLa1cuTKZMmVKpprf8cgjjyQTJkxINm3alLS2tibf/OY3k+uuuy51/tlnn00mTJiQNDU1JW+99VYyZsyYZMWKFamy7/RJfX19MnLkyGTVqlVJc3Nz8rnPfS75xS9+kTq/pU9+8pOpb+j2Tr6uri4ZNWpUcs8996TKbZl9/vnnk2OPPTbZsGFD0tramlx88cXJzTffnKv23/zmN13ecLR9/tlnn01GjhyZrF+/PmlsbEw++9nPJosWLUqVffXVV5NjjjkmefXVV5Mk+dvNE6+99tpMta9duzY55phjUtXcPv/iiy8mo0aNSmpra5MkSZKbbrop1b+9d/Lr1q1LRo0aldTV1SUNDQ3JWWedldx3333v2r7YsSVLz3V1bOqq54rls/RcsXzavuuq9q56rlg+S88Vy2fpu47qT9N3xbJZeq5YPm3PJUnH61LavutqXeus74pl77nnntQ9Vyx/4403pj7WdVV7Z31XLHv99den7rmOXnvanuuo9rTHumL5H/3oR6n6rlh24cKFqXtuS++cy+RZX4udB2VZW9/J51lbt8znXV+L1Z92fX0nm2dt3TKfd33dsvas6+s72bxr6zv5LMe5js5/0/ZcV+fPXfVdsfwTTzyRqu86yqbtua5q76rniuUff/zxVH3XUe1pe66j2tP2XEf5tH1XLL9ixYpUfVfsmumOO+5I3XNdXXN11XPF8rfffnuqnusom7bnuqq9q57raP9pj3XF8tdff33qvmt/vZp1fersejfNGtVZvqvvXbHr5e9+97u5rl87k3603gsMGTIkZs6cGdOmTYumpqaYNGlSDB8+fLvt/9Zbb42GhoatfnXslClT4swzz+wyO2rUqFi5cmWcdtppUVZWFqNHj45TTjmllOVu5dhjj42nn346TjvttGhtbY2zzjorDj300NT5ESNGxNlnnx1nnXVWNDU1xVFHHZXpIyt/+ctfYujQoXlKj6OPPjr+8Ic/xMSJE6NQKMSwYcPi85//fOr8gQceGKNHj44JEyZES0tLfPrTn44Pf/jDmWro379/XHXVVfGFL3whGhoaYtSoUZ3eH2Bbmz9/frzxxhtx2223xW233RYREccdd1x88Ytf7DL7/ve/Pz7/+c/HlClToqysLD7ykY906+2aWR144IHx+c9/Ps4888xobm6O0aNHx7hx41Jl99lnn7j88svj3HPPjYaGhvjABz4QX/va1zLt/69//Wvu3vvHf/zH+OIXvxjTpk2LsrKy2H///ePyyy9PnR88eHBccMEFMXny5Ghubo5x48bF+PHj37VdR8eWtD3XnWNTR/mxY8em7rmO9p+m70pR+zv7TtNzHeXT9l1H+YMOOqjLvusom7bnOsqn6bmIjtelPffcM1XfdWddK5Zdv3596p4rlj///PNjzz33THWs29a1X3jhhTF48OBUPVcsf9ppp0VVVVWqnuuo9pUrV6Y61hXLn3POOVFTU9Nl3xXLTpgwIRoaGlL1XDE9ub52Z22N6Nn1tTtra0TPrq/ba22N6Pj8N23Pdff8uVj+97//faq+K5b9yEc+krrnSlH7Rz/60VR911HtaXuuo9rTHuc6yqftu2L5D3/4w6n6rtg105lnnhnve9/7UvVcd6+5iuVbWlpS9Vyx7NSpU6N///6peq4UtU+dOjX69euX6lhXLH/++efHwQcfnKrv2l+vZl2funO92918sevlL3zhC3HUUUdt0/W1T5IkSbe+AgAAAAC7rJ3qnksAAAAAbF+GSwAAAADkZrgEAAAAQG6GSwAAAADkZrgEAAAAQG6GSwAA3dTU1BRHH310nH322T1dCgDAdme4BADQTb/61a/iwAMPjN///vfx0ksv9XQ5AADbVZ8kSZKeLgIAoDebOnVqjB07Nl544YVobm6Oyy+/PCIiZs+eHfPnz4/dd989PvKRj8RDDz0US5cujcbGxrjmmmviiSeeiJaWlvjgBz8Ys2bNigEDBvTwKwEAyM47lwAAuuHFF1+Mp556Kk466aQ47bTTYuHChfHmm2/GI488EgsWLIj58+fHggULYtOmTW2Z2bNnR1lZWSxYsCDuu+++qKmpiWuuuaYHXwUAQH79eroAAIDe7Gc/+1kce+yxMXjw4Bg8eHC8973vjXnz5kVtbW2cdNJJsccee0RExCc+8Yn4zW9+ExERDz/8cNTV1cWyZcsi4m/3bNprr7167DUAAHSH4RIAQE5vv/12LFy4MMrLy+O4446LiIiNGzfGHXfcEaecckpsefeBsrKytj+3trbGJZdcEqNGjYqIiE2bNkVDQ8P2LR4AYBvxsTgAgJwWLVoUVVVV8cgjj8TSpUtj6dKl8etf/zrefvvtOOigg+LBBx+Murq6iIiYP39+W+7oo4+OOXPmRGNjY7S2tsY3v/nN+P73v99TLwMAoFsMlwAAcvrZz34Wn/nMZ7Z6V9Iee+wRU6dOjdtvvz0+/vGPx+TJk2PixIlRV1cXu+22W0REnH/++bHvvvvG6aefHmPHjo0kSeLiiy/uqZcBANAtflscAEAJ/O53v4unnnoqpk2bFhERt912Wzz99NPxgx/8oIcrAwDYtgyXAABKYOPGjXHJJZfEyy+/HH369Il99tkn/uVf/iWGDBnS06UBAGxThksAAAAA5OaeSwAAAADkZrgEAAAAQG6GSwAAAADkZrgEAAAAQG6GSwAAAADkZrgEAAAAQG7/P0ctB+g78oaHAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1440x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20,6))\n",
    "\n",
    "\n",
    "train_data.Age = train_data.Age.astype(int)\n",
    "\n",
    "average_age = train_data[['Age', 'Survived']].groupby(['Age'], as_index=False).mean()\n",
    "\n",
    "sns.barplot(x='Age', y='Survived', data=average_age)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里可以看到，年龄小和大均存活较高，可以结合年龄+性别，将用户分为：孩子、老人、男人、女人"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_person(person):\n",
    "    age, sex = person\n",
    "    \n",
    "    if age<= 16:\n",
    "        return 0 # 小孩\n",
    "    elif age >= 63:\n",
    "        return 1 # 老人\n",
    "    else:\n",
    "        return 2 if sex == 'male' else 3\n",
    "\n",
    "\n",
    "train_data['Person'] = train_data[['Age', 'Sex']].apply(get_person, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data.drop(['Age', 'Sex'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass     Fare Embarked  Family  Person\n",
       "0         0       3   7.2500        S       1       2\n",
       "1         1       1  71.2833        C       1       3\n",
       "2         1       3   7.9250        S       0       3\n",
       "3         1       1  53.1000        S       1       3\n",
       "4         0       3   8.0500        S       0       2"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>34.5</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>47.0</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>2</td>\n",
       "      <td>male</td>\n",
       "      <td>62.0</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>27.0</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>22.0</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Pclass     Sex   Age     Fare Embarked  Family\n",
       "0          892       3    male  34.5   7.8292        Q       0\n",
       "1          893       3  female  47.0   7.0000        S       1\n",
       "2          894       2    male  62.0   9.6875        Q       0\n",
       "3          895       3    male  27.0   8.6625        S       0\n",
       "4          896       3  female  22.0  12.2875        S       1"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对测试数据集做类似的处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>3</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>3</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>2</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>3</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>3</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Pclass     Fare Embarked  Family  Person\n",
       "0          892       3   7.8292        Q       0       2\n",
       "1          893       3   7.0000        S       1       3\n",
       "2          894       2   9.6875        Q       0       2\n",
       "3          895       3   8.6625        S       0       2\n",
       "4          896       3  12.2875        S       1       3"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data['Person'] = test_data[['Age', 'Sex']].apply(get_person, axis=1)\n",
    "test_data.drop(['Age', 'Sex'], axis=1, inplace=True)\n",
    "\n",
    "test_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "S    646\n",
       "C    168\n",
       "Q     77\n",
       "Name: Embarked, dtype: int64"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.Embarked.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "然后将Embarked字段同样处理为数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_embarked(c):\n",
    "    if c == 'S':\n",
    "        return 0\n",
    "    elif c == 'Q':\n",
    "        return 1\n",
    "    else:\n",
    "        return 2\n",
    "\n",
    "train_data.Embarked = train_data['Embarked'].apply(get_embarked)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 6 columns):\n",
      "Survived    891 non-null int64\n",
      "Pclass      891 non-null int64\n",
      "Fare        891 non-null float64\n",
      "Embarked    891 non-null int64\n",
      "Family      891 non-null int64\n",
      "Person      891 non-null int64\n",
      "dtypes: float64(1), int64(5)\n",
      "memory usage: 41.8 KB\n"
     ]
    }
   ],
   "source": [
    "train_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass     Fare  Embarked  Family  Person\n",
       "0         0       3   7.2500         0       1       2\n",
       "1         1       1  71.2833         2       1       3\n",
       "2         1       3   7.9250         0       0       3\n",
       "3         1       1  53.1000         0       1       3\n",
       "4         0       3   8.0500         0       0       2"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data.Embarked = test_data['Embarked'].apply(get_embarked)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>3</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>3</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>2</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>3</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>3</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Pclass     Fare  Embarked  Family  Person\n",
       "0          892       3   7.8292         1       0       2\n",
       "1          893       3   7.0000         0       1       3\n",
       "2          894       2   9.6875         1       0       2\n",
       "3          895       3   8.6625         0       0       2\n",
       "4          896       3  12.2875         0       1       3"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "删除测试数据集的PassengerId"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data.drop(['PassengerId'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass     Fare  Embarked  Family  Person\n",
       "0       3   7.8292         1       0       2\n",
       "1       3   7.0000         0       1       3\n",
       "2       2   9.6875         1       0       2\n",
       "3       3   8.6625         0       0       2\n",
       "4       3  12.2875         0       1       3"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>34.5</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>47.0</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>2</td>\n",
       "      <td>male</td>\n",
       "      <td>62.0</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>Q</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>27.0</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>22.0</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Pclass     Sex   Age     Fare Embarked  Family\n",
       "0          892       3    male  34.5   7.8292        Q       0\n",
       "1          893       3  female  47.0   7.0000        S       1\n",
       "2          894       2    male  62.0   9.6875        Q       0\n",
       "3          895       3    male  27.0   8.6625        S       0\n",
       "4          896       3  female  22.0  12.2875        S       1"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "将train_data拆分为特征和标签"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_label = train_data.iloc[:, 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_feature = train_data.iloc[:, 1:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0\n",
       "1    1\n",
       "2    1\n",
       "3    1\n",
       "4    0\n",
       "Name: Survived, dtype: int64"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_label.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass     Fare  Embarked  Family  Person\n",
       "0       3   7.2500         0       1       2\n",
       "1       1  71.2833         2       1       3\n",
       "2       3   7.9250         0       0       3\n",
       "3       1  53.1000         0       1       3\n",
       "4       3   8.0500         0       0       2"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_feature.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass     Fare  Embarked  Family  Person\n",
       "0       3   7.8292         1       0       2\n",
       "1       3   7.0000         0       1       3\n",
       "2       2   9.6875         1       0       2\n",
       "3       3   8.6625         0       0       2\n",
       "4       3  12.2875         0       1       3"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "至此，数据处理完毕！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 相关系数分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LogisticRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression()"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg = LogisticRegression()\n",
    "\n",
    "reg.fit(train_feature.to_numpy(), train_label.to_numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.6736447 ,  0.00161127,  0.29753129,  0.77381247,  0.39287051]])"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-0.673645</td>\n",
       "      <td>0.001611</td>\n",
       "      <td>0.297531</td>\n",
       "      <td>0.773812</td>\n",
       "      <td>0.392871</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Pclass      Fare  Embarked    Family    Person\n",
       "0 -0.673645  0.001611  0.297531  0.773812  0.392871"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(data=reg.coef_, columns=train_feature.columns)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里可以知道，Fare字段相关性并不大，故而可以删除"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_feature = train_feature[['Pclass', 'Embarked', 'Family', 'Person']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass     Fare  Embarked  Family  Person\n",
       "0       3   7.8292         1       0       2\n",
       "1       3   7.0000         0       1       3\n",
       "2       2   9.6875         1       0       2\n",
       "3       3   8.6625         0       0       2\n",
       "4       3  12.2875         0       1       3"
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family</th>\n",
       "      <th>Person</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass  Embarked  Family  Person\n",
       "0       3         1       0       2\n",
       "1       3         0       1       3\n",
       "2       2         1       0       2\n",
       "3       3         0       0       2\n",
       "4       3         0       1       3"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data = test_data[['Pclass', 'Embarked', 'Family', 'Person']]\n",
    "test_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "\n",
    "random_forest = RandomForestClassifier(n_estimators=300)\n",
    "\n",
    "random_forest.fit(train_feature, train_label)\n",
    "\n",
    "Y_pred = random_forest.predict(test_data)\n",
    "\n",
    "submission = pd.DataFrame({\n",
    "\"PassengerId\": test.PassengerId,\n",
    "\"Survived\": Y_pred\n",
    "})\n",
    "\n",
    "# submission.to_csv('titanic.csv', index=False)\n",
    "# print(random_forest.score(train_features, train_labels))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived\n",
       "0          892         0\n",
       "1          893         0\n",
       "2          894         0\n",
       "3          895         0\n",
       "4          896         0"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "submission.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [],
   "source": [
    "submission.to_csv('titanic.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [],
   "source": [
    "epochs = 500"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_3\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense_12 (Dense)             (None, 64)                320       \n",
      "_________________________________________________________________\n",
      "dense_13 (Dense)             (None, 1)                 65        \n",
      "=================================================================\n",
      "Total params: 385\n",
      "Trainable params: 385\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model = tf.keras.Sequential()\n",
    "model.add(tf.keras.layers.Dense(64, input_shape=(train_feature.shape[1], ), activation='relu'))\n",
    "model.add(tf.keras.layers.Dense(1, activation='sigmoid'))\n",
    "model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4430 - accuracy: 0.8103\n",
      "Epoch 2/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4409 - accuracy: 0.8114\n",
      "Epoch 3/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4424 - accuracy: 0.8159\n",
      "Epoch 4/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4415 - accuracy: 0.8058\n",
      "Epoch 5/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4437 - accuracy: 0.8148\n",
      "Epoch 6/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4410 - accuracy: 0.8137\n",
      "Epoch 7/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4418 - accuracy: 0.8126\n",
      "Epoch 8/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4409 - accuracy: 0.8070\n",
      "Epoch 9/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4417 - accuracy: 0.8092\n",
      "Epoch 10/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4394 - accuracy: 0.8092\n",
      "Epoch 11/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4412 - accuracy: 0.8081\n",
      "Epoch 12/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4396 - accuracy: 0.8058\n",
      "Epoch 13/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4393 - accuracy: 0.8047\n",
      "Epoch 14/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4387 - accuracy: 0.8081\n",
      "Epoch 15/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4387 - accuracy: 0.8126\n",
      "Epoch 16/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4398 - accuracy: 0.8092\n",
      "Epoch 17/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4400 - accuracy: 0.8126\n",
      "Epoch 18/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4381 - accuracy: 0.8114\n",
      "Epoch 19/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4405 - accuracy: 0.8114\n",
      "Epoch 20/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4382 - accuracy: 0.8081\n",
      "Epoch 21/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4388 - accuracy: 0.8126\n",
      "Epoch 22/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4372 - accuracy: 0.8114\n",
      "Epoch 23/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4401 - accuracy: 0.8114\n",
      "Epoch 24/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4383 - accuracy: 0.8103\n",
      "Epoch 25/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4381 - accuracy: 0.8126\n",
      "Epoch 26/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4387 - accuracy: 0.8148\n",
      "Epoch 27/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4383 - accuracy: 0.8114\n",
      "Epoch 28/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4397 - accuracy: 0.8126\n",
      "Epoch 29/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4362 - accuracy: 0.8103\n",
      "Epoch 30/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4362 - accuracy: 0.8114\n",
      "Epoch 31/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4368 - accuracy: 0.8103\n",
      "Epoch 32/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4429 - accuracy: 0.8114\n",
      "Epoch 33/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4370 - accuracy: 0.8103\n",
      "Epoch 34/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4372 - accuracy: 0.8114\n",
      "Epoch 35/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4357 - accuracy: 0.8114\n",
      "Epoch 36/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4355 - accuracy: 0.8092\n",
      "Epoch 37/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4362 - accuracy: 0.8126\n",
      "Epoch 38/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4351 - accuracy: 0.8103\n",
      "Epoch 39/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4352 - accuracy: 0.8159\n",
      "Epoch 40/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4366 - accuracy: 0.8070\n",
      "Epoch 41/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4361 - accuracy: 0.8114\n",
      "Epoch 42/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4345 - accuracy: 0.8114\n",
      "Epoch 43/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4351 - accuracy: 0.8081\n",
      "Epoch 44/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4346 - accuracy: 0.8148\n",
      "Epoch 45/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4365 - accuracy: 0.8070\n",
      "Epoch 46/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4357 - accuracy: 0.8114\n",
      "Epoch 47/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4353 - accuracy: 0.8092\n",
      "Epoch 48/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4388 - accuracy: 0.8081\n",
      "Epoch 49/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4335 - accuracy: 0.8081\n",
      "Epoch 50/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4337 - accuracy: 0.8137\n",
      "Epoch 51/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4346 - accuracy: 0.8159\n",
      "Epoch 52/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4355 - accuracy: 0.8103\n",
      "Epoch 53/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4352 - accuracy: 0.8103\n",
      "Epoch 54/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4376 - accuracy: 0.8047\n",
      "Epoch 55/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4341 - accuracy: 0.8114\n",
      "Epoch 56/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4326 - accuracy: 0.8114\n",
      "Epoch 57/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4324 - accuracy: 0.8114\n",
      "Epoch 58/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4340 - accuracy: 0.8103\n",
      "Epoch 59/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4325 - accuracy: 0.8036\n",
      "Epoch 60/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4324 - accuracy: 0.8081\n",
      "Epoch 61/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4327 - accuracy: 0.8114\n",
      "Epoch 62/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4342 - accuracy: 0.8092\n",
      "Epoch 63/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4348 - accuracy: 0.8058\n",
      "Epoch 64/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4355 - accuracy: 0.8148\n",
      "Epoch 65/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4335 - accuracy: 0.8070\n",
      "Epoch 66/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4332 - accuracy: 0.8114\n",
      "Epoch 67/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4327 - accuracy: 0.8126\n",
      "Epoch 68/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4314 - accuracy: 0.8114\n",
      "Epoch 69/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4311 - accuracy: 0.8103\n",
      "Epoch 70/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4331 - accuracy: 0.8092\n",
      "Epoch 71/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4329 - accuracy: 0.8103\n",
      "Epoch 72/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4356 - accuracy: 0.8058\n",
      "Epoch 73/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4316 - accuracy: 0.8092\n",
      "Epoch 74/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4317 - accuracy: 0.8103\n",
      "Epoch 75/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4326 - accuracy: 0.8114\n",
      "Epoch 76/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4323 - accuracy: 0.8058\n",
      "Epoch 77/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4330 - accuracy: 0.8058\n",
      "Epoch 78/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4316 - accuracy: 0.8126\n",
      "Epoch 79/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4312 - accuracy: 0.8159\n",
      "Epoch 80/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4315 - accuracy: 0.8058\n",
      "Epoch 81/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4314 - accuracy: 0.8204\n",
      "Epoch 82/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4322 - accuracy: 0.8137\n",
      "Epoch 83/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4311 - accuracy: 0.8114\n",
      "Epoch 84/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4300 - accuracy: 0.8114\n",
      "Epoch 85/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4308 - accuracy: 0.8036\n",
      "Epoch 86/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4302 - accuracy: 0.8058\n",
      "Epoch 87/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4305 - accuracy: 0.8103\n",
      "Epoch 88/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4307 - accuracy: 0.8092\n",
      "Epoch 89/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4309 - accuracy: 0.8092\n",
      "Epoch 90/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4300 - accuracy: 0.8114\n",
      "Epoch 91/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4298 - accuracy: 0.8114\n",
      "Epoch 92/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4306 - accuracy: 0.8114\n",
      "Epoch 93/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4317 - accuracy: 0.8092\n",
      "Epoch 94/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4297 - accuracy: 0.8103\n",
      "Epoch 95/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4298 - accuracy: 0.8137\n",
      "Epoch 96/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4290 - accuracy: 0.8137\n",
      "Epoch 97/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4303 - accuracy: 0.8114\n",
      "Epoch 98/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4295 - accuracy: 0.8092\n",
      "Epoch 99/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4297 - accuracy: 0.8148\n",
      "Epoch 100/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4284 - accuracy: 0.8081\n",
      "Epoch 101/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4291 - accuracy: 0.8137\n",
      "Epoch 102/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4350 - accuracy: 0.8114\n",
      "Epoch 103/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4316 - accuracy: 0.8126\n",
      "Epoch 104/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4293 - accuracy: 0.8103\n",
      "Epoch 105/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4299 - accuracy: 0.8137\n",
      "Epoch 106/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4279 - accuracy: 0.8114\n",
      "Epoch 107/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4286 - accuracy: 0.8092\n",
      "Epoch 108/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4302 - accuracy: 0.8092\n",
      "Epoch 109/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4284 - accuracy: 0.8148\n",
      "Epoch 110/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4282 - accuracy: 0.8092\n",
      "Epoch 111/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4280 - accuracy: 0.8103\n",
      "Epoch 112/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4296 - accuracy: 0.8047\n",
      "Epoch 113/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4278 - accuracy: 0.8081\n",
      "Epoch 114/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4284 - accuracy: 0.8114\n",
      "Epoch 115/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4289 - accuracy: 0.8193\n",
      "Epoch 116/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4277 - accuracy: 0.8148\n",
      "Epoch 117/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4278 - accuracy: 0.8114\n",
      "Epoch 118/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4284 - accuracy: 0.8103\n",
      "Epoch 119/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4273 - accuracy: 0.8081\n",
      "Epoch 120/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4286 - accuracy: 0.8137\n",
      "Epoch 121/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4301 - accuracy: 0.8070\n",
      "Epoch 122/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4287 - accuracy: 0.8148\n",
      "Epoch 123/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4276 - accuracy: 0.8159\n",
      "Epoch 124/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4280 - accuracy: 0.8058\n",
      "Epoch 125/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4279 - accuracy: 0.8126\n",
      "Epoch 126/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4288 - accuracy: 0.8137\n",
      "Epoch 127/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4272 - accuracy: 0.8103\n",
      "Epoch 128/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4264 - accuracy: 0.8114\n",
      "Epoch 129/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4273 - accuracy: 0.8114\n",
      "Epoch 130/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4270 - accuracy: 0.8092\n",
      "Epoch 131/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4273 - accuracy: 0.8204\n",
      "Epoch 132/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4264 - accuracy: 0.8081\n",
      "Epoch 133/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4263 - accuracy: 0.8081\n",
      "Epoch 134/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4271 - accuracy: 0.8148\n",
      "Epoch 135/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4290 - accuracy: 0.8126\n",
      "Epoch 136/500\n",
      "28/28 [==============================] - 0s 4ms/step - loss: 0.4266 - accuracy: 0.8114\n",
      "Epoch 137/500\n",
      "28/28 [==============================] - 0s 4ms/step - loss: 0.4262 - accuracy: 0.8114\n",
      "Epoch 138/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4257 - accuracy: 0.8171\n",
      "Epoch 139/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4269 - accuracy: 0.8215\n",
      "Epoch 140/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4283 - accuracy: 0.8092\n",
      "Epoch 141/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4299 - accuracy: 0.8081\n",
      "Epoch 142/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4261 - accuracy: 0.8159\n",
      "Epoch 143/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4269 - accuracy: 0.8103\n",
      "Epoch 144/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4264 - accuracy: 0.8126\n",
      "Epoch 145/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4269 - accuracy: 0.8114\n",
      "Epoch 146/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4256 - accuracy: 0.8137\n",
      "Epoch 147/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4277 - accuracy: 0.8126\n",
      "Epoch 148/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4271 - accuracy: 0.8171\n",
      "Epoch 149/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4271 - accuracy: 0.8137\n",
      "Epoch 150/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4265 - accuracy: 0.8137\n",
      "Epoch 151/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4277 - accuracy: 0.8193\n",
      "Epoch 152/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4271 - accuracy: 0.8126\n",
      "Epoch 153/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4276 - accuracy: 0.8137\n",
      "Epoch 154/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4268 - accuracy: 0.8070\n",
      "Epoch 155/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4282 - accuracy: 0.8148\n",
      "Epoch 156/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4312 - accuracy: 0.8182\n",
      "Epoch 157/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4327 - accuracy: 0.8182\n",
      "Epoch 158/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4253 - accuracy: 0.8159\n",
      "Epoch 159/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4251 - accuracy: 0.8137\n",
      "Epoch 160/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4261 - accuracy: 0.8159\n",
      "Epoch 161/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4258 - accuracy: 0.8204\n",
      "Epoch 162/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4255 - accuracy: 0.8126\n",
      "Epoch 163/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4259 - accuracy: 0.8081\n",
      "Epoch 164/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4261 - accuracy: 0.8171\n",
      "Epoch 165/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4291 - accuracy: 0.8171\n",
      "Epoch 166/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4261 - accuracy: 0.8159\n",
      "Epoch 167/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4287 - accuracy: 0.8182\n",
      "Epoch 168/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4230 - accuracy: 0.8215\n",
      "Epoch 169/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4255 - accuracy: 0.8103\n",
      "Epoch 170/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4254 - accuracy: 0.8182\n",
      "Epoch 171/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4257 - accuracy: 0.8148\n",
      "Epoch 172/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4259 - accuracy: 0.8092\n",
      "Epoch 173/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4244 - accuracy: 0.8204\n",
      "Epoch 174/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4250 - accuracy: 0.8159\n",
      "Epoch 175/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4272 - accuracy: 0.8137\n",
      "Epoch 176/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4282 - accuracy: 0.8137\n",
      "Epoch 177/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4266 - accuracy: 0.8171\n",
      "Epoch 178/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4262 - accuracy: 0.8182\n",
      "Epoch 179/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4278 - accuracy: 0.8159\n",
      "Epoch 180/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4271 - accuracy: 0.8171\n",
      "Epoch 181/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4253 - accuracy: 0.8159\n",
      "Epoch 182/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4242 - accuracy: 0.8159\n",
      "Epoch 183/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4241 - accuracy: 0.8114\n",
      "Epoch 184/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4243 - accuracy: 0.8092\n",
      "Epoch 185/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4247 - accuracy: 0.8159\n",
      "Epoch 186/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4237 - accuracy: 0.8103\n",
      "Epoch 187/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4248 - accuracy: 0.8182\n",
      "Epoch 188/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4239 - accuracy: 0.8148\n",
      "Epoch 189/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4257 - accuracy: 0.8148\n",
      "Epoch 190/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4260 - accuracy: 0.8103\n",
      "Epoch 191/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4261 - accuracy: 0.8193\n",
      "Epoch 192/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4273 - accuracy: 0.8148\n",
      "Epoch 193/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4250 - accuracy: 0.8182\n",
      "Epoch 194/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4251 - accuracy: 0.8159\n",
      "Epoch 195/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4244 - accuracy: 0.8137\n",
      "Epoch 196/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4254 - accuracy: 0.8193\n",
      "Epoch 197/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4256 - accuracy: 0.8171\n",
      "Epoch 198/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4239 - accuracy: 0.8159\n",
      "Epoch 199/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4245 - accuracy: 0.8126\n",
      "Epoch 200/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4235 - accuracy: 0.8171\n",
      "Epoch 201/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4245 - accuracy: 0.8227\n",
      "Epoch 202/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4249 - accuracy: 0.8148\n",
      "Epoch 203/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4237 - accuracy: 0.8137\n",
      "Epoch 204/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4252 - accuracy: 0.8148\n",
      "Epoch 205/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4240 - accuracy: 0.8182\n",
      "Epoch 206/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4232 - accuracy: 0.8114\n",
      "Epoch 207/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4233 - accuracy: 0.8159\n",
      "Epoch 208/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4236 - accuracy: 0.8103\n",
      "Epoch 209/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4236 - accuracy: 0.8148\n",
      "Epoch 210/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4231 - accuracy: 0.8126\n",
      "Epoch 211/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4232 - accuracy: 0.8193\n",
      "Epoch 212/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4240 - accuracy: 0.8092\n",
      "Epoch 213/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4241 - accuracy: 0.8171\n",
      "Epoch 214/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4247 - accuracy: 0.8148\n",
      "Epoch 215/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4232 - accuracy: 0.8215\n",
      "Epoch 216/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4235 - accuracy: 0.8204\n",
      "Epoch 217/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4236 - accuracy: 0.8159\n",
      "Epoch 218/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4247 - accuracy: 0.8159\n",
      "Epoch 219/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4230 - accuracy: 0.8171\n",
      "Epoch 220/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4231 - accuracy: 0.8137\n",
      "Epoch 221/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4225 - accuracy: 0.8137\n",
      "Epoch 222/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4231 - accuracy: 0.8159\n",
      "Epoch 223/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4233 - accuracy: 0.8182\n",
      "Epoch 224/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4230 - accuracy: 0.8148\n",
      "Epoch 225/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4238 - accuracy: 0.8159\n",
      "Epoch 226/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4243 - accuracy: 0.8126\n",
      "Epoch 227/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4237 - accuracy: 0.8182\n",
      "Epoch 228/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4236 - accuracy: 0.8114\n",
      "Epoch 229/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4227 - accuracy: 0.8148\n",
      "Epoch 230/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4223 - accuracy: 0.8171\n",
      "Epoch 231/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4243 - accuracy: 0.8058\n",
      "Epoch 232/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4234 - accuracy: 0.8148\n",
      "Epoch 233/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4226 - accuracy: 0.8103\n",
      "Epoch 234/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4241 - accuracy: 0.8092\n",
      "Epoch 235/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4230 - accuracy: 0.8070\n",
      "Epoch 236/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4244 - accuracy: 0.8148\n",
      "Epoch 237/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4231 - accuracy: 0.8159\n",
      "Epoch 238/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4226 - accuracy: 0.8171\n",
      "Epoch 239/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4233 - accuracy: 0.8204\n",
      "Epoch 240/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4221 - accuracy: 0.8159\n",
      "Epoch 241/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4270 - accuracy: 0.8171\n",
      "Epoch 242/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4218 - accuracy: 0.8215\n",
      "Epoch 243/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4225 - accuracy: 0.8171\n",
      "Epoch 244/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4229 - accuracy: 0.8182\n",
      "Epoch 245/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4241 - accuracy: 0.8103\n",
      "Epoch 246/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4235 - accuracy: 0.8137\n",
      "Epoch 247/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4238 - accuracy: 0.8148\n",
      "Epoch 248/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4217 - accuracy: 0.8148\n",
      "Epoch 249/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8103\n",
      "Epoch 250/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4231 - accuracy: 0.8103\n",
      "Epoch 251/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8159\n",
      "Epoch 252/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8159\n",
      "Epoch 253/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4218 - accuracy: 0.8114\n",
      "Epoch 254/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4230 - accuracy: 0.8193\n",
      "Epoch 255/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4242 - accuracy: 0.8159\n",
      "Epoch 256/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4234 - accuracy: 0.8182\n",
      "Epoch 257/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4222 - accuracy: 0.8193\n",
      "Epoch 258/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4229 - accuracy: 0.8148\n",
      "Epoch 259/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4219 - accuracy: 0.8227\n",
      "Epoch 260/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4232 - accuracy: 0.8171\n",
      "Epoch 261/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8137\n",
      "Epoch 262/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4218 - accuracy: 0.8126\n",
      "Epoch 263/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4214 - accuracy: 0.8137\n",
      "Epoch 264/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8148\n",
      "Epoch 265/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8159\n",
      "Epoch 266/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4214 - accuracy: 0.8159\n",
      "Epoch 267/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4218 - accuracy: 0.8171\n",
      "Epoch 268/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4241 - accuracy: 0.8204\n",
      "Epoch 269/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4202 - accuracy: 0.8148\n",
      "Epoch 270/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4213 - accuracy: 0.8159\n",
      "Epoch 271/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4224 - accuracy: 0.8159\n",
      "Epoch 272/500\n",
      "28/28 [==============================] - ETA: 0s - loss: 0.5757 - accuracy: 0.75 - 0s 2ms/step - loss: 0.4211 - accuracy: 0.8227\n",
      "Epoch 273/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4223 - accuracy: 0.8171\n",
      "Epoch 274/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4212 - accuracy: 0.8126\n",
      "Epoch 275/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4215 - accuracy: 0.8092\n",
      "Epoch 276/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4214 - accuracy: 0.8159\n",
      "Epoch 277/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4207 - accuracy: 0.8182\n",
      "Epoch 278/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4214 - accuracy: 0.8204\n",
      "Epoch 279/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4225 - accuracy: 0.8137\n",
      "Epoch 280/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4222 - accuracy: 0.8182\n",
      "Epoch 281/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4216 - accuracy: 0.8182\n",
      "Epoch 282/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4219 - accuracy: 0.8193\n",
      "Epoch 283/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4243 - accuracy: 0.8126\n",
      "Epoch 284/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8148\n",
      "Epoch 285/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4222 - accuracy: 0.8182\n",
      "Epoch 286/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4223 - accuracy: 0.8137\n",
      "Epoch 287/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4222 - accuracy: 0.8092\n",
      "Epoch 288/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4212 - accuracy: 0.8114\n",
      "Epoch 289/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4235 - accuracy: 0.8137\n",
      "Epoch 290/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4220 - accuracy: 0.8204\n",
      "Epoch 291/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8148\n",
      "Epoch 292/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4235 - accuracy: 0.8148\n",
      "Epoch 293/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4224 - accuracy: 0.8193\n",
      "Epoch 294/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4208 - accuracy: 0.8182\n",
      "Epoch 295/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4205 - accuracy: 0.8182\n",
      "Epoch 296/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4206 - accuracy: 0.8182\n",
      "Epoch 297/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4208 - accuracy: 0.8114\n",
      "Epoch 298/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4213 - accuracy: 0.8137\n",
      "Epoch 299/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4249 - accuracy: 0.8148\n",
      "Epoch 300/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4230 - accuracy: 0.8126\n",
      "Epoch 301/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4212 - accuracy: 0.8148\n",
      "Epoch 302/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4207 - accuracy: 0.8159\n",
      "Epoch 303/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4204 - accuracy: 0.8215\n",
      "Epoch 304/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4213 - accuracy: 0.8159\n",
      "Epoch 305/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4224 - accuracy: 0.8126\n",
      "Epoch 306/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4220 - accuracy: 0.8182\n",
      "Epoch 307/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4217 - accuracy: 0.8126\n",
      "Epoch 308/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4203 - accuracy: 0.8148\n",
      "Epoch 309/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4215 - accuracy: 0.8193\n",
      "Epoch 310/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4227 - accuracy: 0.8148\n",
      "Epoch 311/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4204 - accuracy: 0.8159\n",
      "Epoch 312/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4201 - accuracy: 0.8126\n",
      "Epoch 313/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4204 - accuracy: 0.8148\n",
      "Epoch 314/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4194 - accuracy: 0.8193\n",
      "Epoch 315/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4228 - accuracy: 0.8137\n",
      "Epoch 316/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4197 - accuracy: 0.8182\n",
      "Epoch 317/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4228 - accuracy: 0.8148\n",
      "Epoch 318/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4209 - accuracy: 0.8114\n",
      "Epoch 319/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4198 - accuracy: 0.8171\n",
      "Epoch 320/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4247 - accuracy: 0.8238\n",
      "Epoch 321/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4214 - accuracy: 0.8238\n",
      "Epoch 322/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4201 - accuracy: 0.8171\n",
      "Epoch 323/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4199 - accuracy: 0.8114\n",
      "Epoch 324/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4198 - accuracy: 0.8114\n",
      "Epoch 325/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4196 - accuracy: 0.8159\n",
      "Epoch 326/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4204 - accuracy: 0.8215\n",
      "Epoch 327/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4207 - accuracy: 0.8159\n",
      "Epoch 328/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4209 - accuracy: 0.8126\n",
      "Epoch 329/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4204 - accuracy: 0.8159\n",
      "Epoch 330/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4194 - accuracy: 0.8204\n",
      "Epoch 331/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4209 - accuracy: 0.8171\n",
      "Epoch 332/500\n",
      "28/28 [==============================] - 0s 4ms/step - loss: 0.4207 - accuracy: 0.8204\n",
      "Epoch 333/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4198 - accuracy: 0.8193\n",
      "Epoch 334/500\n",
      "28/28 [==============================] - ETA: 0s - loss: 0.4013 - accuracy: 0.78 - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8159\n",
      "Epoch 335/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4190 - accuracy: 0.8204\n",
      "Epoch 336/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4194 - accuracy: 0.8159\n",
      "Epoch 337/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4206 - accuracy: 0.8182\n",
      "Epoch 338/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4191 - accuracy: 0.8215\n",
      "Epoch 339/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8193\n",
      "Epoch 340/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4218 - accuracy: 0.8193\n",
      "Epoch 341/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8114\n",
      "Epoch 342/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4212 - accuracy: 0.8159\n",
      "Epoch 343/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4207 - accuracy: 0.8159\n",
      "Epoch 344/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4194 - accuracy: 0.8193\n",
      "Epoch 345/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4226 - accuracy: 0.8148\n",
      "Epoch 346/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4199 - accuracy: 0.8126\n",
      "Epoch 347/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4184 - accuracy: 0.8215\n",
      "Epoch 348/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4207 - accuracy: 0.8159\n",
      "Epoch 349/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4197 - accuracy: 0.8193\n",
      "Epoch 350/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4198 - accuracy: 0.8227\n",
      "Epoch 351/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4192 - accuracy: 0.8159\n",
      "Epoch 352/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4207 - accuracy: 0.8092\n",
      "Epoch 353/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4193 - accuracy: 0.8193\n",
      "Epoch 354/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4208 - accuracy: 0.8182\n",
      "Epoch 355/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4226 - accuracy: 0.8148\n",
      "Epoch 356/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8159\n",
      "Epoch 357/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4203 - accuracy: 0.8148\n",
      "Epoch 358/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4203 - accuracy: 0.8171\n",
      "Epoch 359/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4210 - accuracy: 0.8148\n",
      "Epoch 360/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4187 - accuracy: 0.8182\n",
      "Epoch 361/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4213 - accuracy: 0.8193\n",
      "Epoch 362/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4202 - accuracy: 0.8215\n",
      "Epoch 363/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4196 - accuracy: 0.8148\n",
      "Epoch 364/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4194 - accuracy: 0.8114\n",
      "Epoch 365/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4203 - accuracy: 0.8148\n",
      "Epoch 366/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4189 - accuracy: 0.8182\n",
      "Epoch 367/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4192 - accuracy: 0.8215\n",
      "Epoch 368/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4191 - accuracy: 0.8126\n",
      "Epoch 369/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4187 - accuracy: 0.8126\n",
      "Epoch 370/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4206 - accuracy: 0.8148\n",
      "Epoch 371/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4190 - accuracy: 0.8182\n",
      "Epoch 372/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4217 - accuracy: 0.8159\n",
      "Epoch 373/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4189 - accuracy: 0.8238\n",
      "Epoch 374/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4189 - accuracy: 0.8182\n",
      "Epoch 375/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8193\n",
      "Epoch 376/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4182 - accuracy: 0.8148\n",
      "Epoch 377/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4189 - accuracy: 0.8193\n",
      "Epoch 378/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4187 - accuracy: 0.8227\n",
      "Epoch 379/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4174 - accuracy: 0.8215\n",
      "Epoch 380/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4219 - accuracy: 0.8171\n",
      "Epoch 381/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4186 - accuracy: 0.8182\n",
      "Epoch 382/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4190 - accuracy: 0.8137\n",
      "Epoch 383/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4199 - accuracy: 0.8171\n",
      "Epoch 384/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4205 - accuracy: 0.8182\n",
      "Epoch 385/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4196 - accuracy: 0.8193\n",
      "Epoch 386/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4196 - accuracy: 0.8137\n",
      "Epoch 387/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4191 - accuracy: 0.8193\n",
      "Epoch 388/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4186 - accuracy: 0.8182\n",
      "Epoch 389/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4203 - accuracy: 0.8126\n",
      "Epoch 390/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4187 - accuracy: 0.8193\n",
      "Epoch 391/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4192 - accuracy: 0.8171\n",
      "Epoch 392/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4199 - accuracy: 0.8171\n",
      "Epoch 393/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4201 - accuracy: 0.8159\n",
      "Epoch 394/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4191 - accuracy: 0.8148\n",
      "Epoch 395/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4178 - accuracy: 0.8137\n",
      "Epoch 396/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4188 - accuracy: 0.8148\n",
      "Epoch 397/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4216 - accuracy: 0.8092\n",
      "Epoch 398/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4184 - accuracy: 0.8148\n",
      "Epoch 399/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4193 - accuracy: 0.8171\n",
      "Epoch 400/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4175 - accuracy: 0.8238\n",
      "Epoch 401/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4232 - accuracy: 0.8305\n",
      "Epoch 402/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4196 - accuracy: 0.8204\n",
      "Epoch 403/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4183 - accuracy: 0.8114\n",
      "Epoch 404/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4177 - accuracy: 0.8193\n",
      "Epoch 405/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4182 - accuracy: 0.8215\n",
      "Epoch 406/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4210 - accuracy: 0.8204\n",
      "Epoch 407/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4234 - accuracy: 0.8114\n",
      "Epoch 408/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4221 - accuracy: 0.8193\n",
      "Epoch 409/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4199 - accuracy: 0.8182\n",
      "Epoch 410/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4177 - accuracy: 0.8238\n",
      "Epoch 411/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4191 - accuracy: 0.8114\n",
      "Epoch 412/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4181 - accuracy: 0.8137\n",
      "Epoch 413/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4173 - accuracy: 0.8148\n",
      "Epoch 414/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4193 - accuracy: 0.8204\n",
      "Epoch 415/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4181 - accuracy: 0.8204\n",
      "Epoch 416/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4184 - accuracy: 0.8171\n",
      "Epoch 417/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4196 - accuracy: 0.8182\n",
      "Epoch 418/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4176 - accuracy: 0.8182\n",
      "Epoch 419/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4198 - accuracy: 0.8171\n",
      "Epoch 420/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4184 - accuracy: 0.8182\n",
      "Epoch 421/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4186 - accuracy: 0.8159\n",
      "Epoch 422/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4206 - accuracy: 0.8081\n",
      "Epoch 423/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4187 - accuracy: 0.8204\n",
      "Epoch 424/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4186 - accuracy: 0.8126\n",
      "Epoch 425/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4170 - accuracy: 0.8204\n",
      "Epoch 426/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4174 - accuracy: 0.8215\n",
      "Epoch 427/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4169 - accuracy: 0.8137\n",
      "Epoch 428/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4177 - accuracy: 0.8182\n",
      "Epoch 429/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4239 - accuracy: 0.8171\n",
      "Epoch 430/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8204\n",
      "Epoch 431/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4170 - accuracy: 0.8171\n",
      "Epoch 432/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4176 - accuracy: 0.8081\n",
      "Epoch 433/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4183 - accuracy: 0.8215\n",
      "Epoch 434/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4218 - accuracy: 0.8058\n",
      "Epoch 435/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4172 - accuracy: 0.8204\n",
      "Epoch 436/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4184 - accuracy: 0.8159\n",
      "Epoch 437/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4168 - accuracy: 0.8182\n",
      "Epoch 438/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4183 - accuracy: 0.8260\n",
      "Epoch 439/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4182 - accuracy: 0.8204\n",
      "Epoch 440/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4179 - accuracy: 0.8171\n",
      "Epoch 441/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4190 - accuracy: 0.8137\n",
      "Epoch 442/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4184 - accuracy: 0.8159\n",
      "Epoch 443/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4181 - accuracy: 0.8171\n",
      "Epoch 444/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4178 - accuracy: 0.8193\n",
      "Epoch 445/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4185 - accuracy: 0.8148\n",
      "Epoch 446/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4175 - accuracy: 0.8238\n",
      "Epoch 447/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4189 - accuracy: 0.8148\n",
      "Epoch 448/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4183 - accuracy: 0.8148\n",
      "Epoch 449/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4170 - accuracy: 0.8182\n",
      "Epoch 450/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4175 - accuracy: 0.8193\n",
      "Epoch 451/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4171 - accuracy: 0.8171\n",
      "Epoch 452/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4166 - accuracy: 0.8171\n",
      "Epoch 453/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4178 - accuracy: 0.8182\n",
      "Epoch 454/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4171 - accuracy: 0.8193\n",
      "Epoch 455/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4164 - accuracy: 0.8182\n",
      "Epoch 456/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4179 - accuracy: 0.8137\n",
      "Epoch 457/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4168 - accuracy: 0.8204\n",
      "Epoch 458/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4187 - accuracy: 0.8171\n",
      "Epoch 459/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4181 - accuracy: 0.8159\n",
      "Epoch 460/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4195 - accuracy: 0.8159\n",
      "Epoch 461/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4177 - accuracy: 0.8148\n",
      "Epoch 462/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4172 - accuracy: 0.8171\n",
      "Epoch 463/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4178 - accuracy: 0.8215\n",
      "Epoch 464/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4161 - accuracy: 0.8182\n",
      "Epoch 465/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4175 - accuracy: 0.8171\n",
      "Epoch 466/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4166 - accuracy: 0.8193\n",
      "Epoch 467/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4179 - accuracy: 0.8215\n",
      "Epoch 468/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4176 - accuracy: 0.8148\n",
      "Epoch 469/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4166 - accuracy: 0.8159\n",
      "Epoch 470/500\n",
      "28/28 [==============================] - 0s 3ms/step - loss: 0.4174 - accuracy: 0.8193\n",
      "Epoch 471/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4201 - accuracy: 0.8215\n",
      "Epoch 472/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4173 - accuracy: 0.8182\n",
      "Epoch 473/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4188 - accuracy: 0.8260\n",
      "Epoch 474/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4167 - accuracy: 0.8114\n",
      "Epoch 475/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4172 - accuracy: 0.8249\n",
      "Epoch 476/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4193 - accuracy: 0.8193\n",
      "Epoch 477/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4166 - accuracy: 0.8215\n",
      "Epoch 478/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4202 - accuracy: 0.8182\n",
      "Epoch 479/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4174 - accuracy: 0.8137\n",
      "Epoch 480/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4167 - accuracy: 0.8137\n",
      "Epoch 481/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4184 - accuracy: 0.8126\n",
      "Epoch 482/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4162 - accuracy: 0.8182\n",
      "Epoch 483/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4171 - accuracy: 0.8182\n",
      "Epoch 484/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4170 - accuracy: 0.8148\n",
      "Epoch 485/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4194 - accuracy: 0.8159\n",
      "Epoch 486/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4250 - accuracy: 0.8215\n",
      "Epoch 487/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4211 - accuracy: 0.8294\n",
      "Epoch 488/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4179 - accuracy: 0.8126\n",
      "Epoch 489/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4203 - accuracy: 0.8159\n",
      "Epoch 490/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4190 - accuracy: 0.8171\n",
      "Epoch 491/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4167 - accuracy: 0.8171\n",
      "Epoch 492/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4173 - accuracy: 0.8193\n",
      "Epoch 493/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4174 - accuracy: 0.8171\n",
      "Epoch 494/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4175 - accuracy: 0.8204\n",
      "Epoch 495/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4167 - accuracy: 0.8193\n",
      "Epoch 496/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4175 - accuracy: 0.8159\n",
      "Epoch 497/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4168 - accuracy: 0.8227\n",
      "Epoch 498/500\n",
      "28/28 [==============================] - 0s 2ms/step - loss: 0.4162 - accuracy: 0.8159\n",
      "Epoch 499/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4159 - accuracy: 0.8114\n",
      "Epoch 500/500\n",
      "28/28 [==============================] - 0s 1ms/step - loss: 0.4158 - accuracy: 0.8193\n"
     ]
    }
   ],
   "source": [
    "history = model.fit(train_feature.to_numpy(), train_label.to_numpy(), epochs=epochs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0,\n",
       "       1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n",
       "       1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1,\n",
       "       1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0,\n",
       "       1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n",
       "       0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n",
       "       0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,\n",
       "       0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,\n",
       "       1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,\n",
       "       0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,\n",
       "       1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,\n",
       "       0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,\n",
       "       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n",
       "       1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0,\n",
       "       0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0,\n",
       "       1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,\n",
       "       0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0])"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predict = model.predict(test_data)\n",
    "predict[predict < 0.5] = 0\n",
    "predict[predict >= 0.5] = 1\n",
    "\n",
    "predict = predict[:, 0].astype(int)\n",
    "predict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [],
   "source": [
    "submission = pd.DataFrame({\n",
    "    \"PassengerId\": test.PassengerId,\n",
    "    \"Survived\": predict\n",
    "})\n",
    "submission.to_csv('titanic.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
